News in COMSOL Multiphysics 3.2 Place Prague Bertil Waldén COMSOL AB
FEMLAB is now COMSOL Multiphysics TM First name was PDE Toolbox –Because it solved PDEs Second name was FEMLAB –Because it made use of the Finite Element Method Now we are dealing with Multiphysics and want a name that expresses this Name structure – same product and company name –Not all future products will be FEM or FEA based
COMSOL Products
New Products COMSOL Script TM CAD Import Module Add-ons to the CAD Import Module –Pro/E Import Module –CATIA V4 Import Module –CATIA V5 Import Module –Inventor Import Module –VDA-FS Import Module
COMSOL Script TM Command-line modeling, technical computing, visualization and GUI-design
Programming language and fast graphics COMSOL Script: Fully compatible with the MATLAB language –All data types except objects –Command line debugger, dbstop, dbstep, dbcont,... –Java interface Fast 3D graphics using OpenGL acceleration (50 times faster than Matlab)
Batch execution with COMSOL Script Requested feature that allow several simulations to run sequentially or simultaneously The simulation can be distributed over a network to run on different machines COMSOL Script executes an M-file that defines the simulation
Main news in COMSOL Multiphysics 3.2
Support for units Metric units –SI units –CGS units –MPa units suitable for structural analys –EM units –ES units English units –British engineering units –FPS –IPS –Gravitational IPS No units
Pre-defined multiphysics couplings
Grouping of subdomains and boundaries
More improvements For constants and expressions: save and open add descriptive comments Customized report Select the content of your report
New material library functionality Support for anisotropic materials and orthotropic materials –Both the 6-by-6 elasticity matrix in 3D and the 4-by-4 elasticity matrix in 2D are supported. Support for piezoelectric materials –The piezoelectric matrices: elasticity matrix, coupling matrix and permittivity matrix are supported. Support for elastic-plastic and hyperelastic materials Material functions can be specified –For example: temperature dependent material properties
Further develop the solvers to solve MUCH larger problems MUCH MUCH faster –Built-in support for wave equations (DOFs reduced with 50%, iterative solvers more efficient) –5-10 times larger CFD problems solved with new multigrid smoother (Vanka) for laminar flow (tested), turbulent flow (tested), arbitrary multiphysics problems (not tested) –A bunch of under-the-hood improvements on mesh stability, incomplete LU preconditioner, file storage of solutions (during transient solving) Performance Improvements:
Wave Equations in 3.1 and 3.2: 3.1: Substitution –Unsymmetric Jacobian matrix with zeros on the diagonal –Not good for iterative solvers –Memory waste –Two dofs to keep track of 3.2: New formulation –One variable, symmetric Jacobian if the PDE is –Very good for iterative solvers! –Memory efficient !
Transient analysis improvements Time derivatives can be used freely in expressions: –Logical names: ut, utt, uxt, uxtt –Reduces the number of degrees of freedom in your models. –Memory and solution times significantly improved. –Store solution on file.
New ODE Interface Type in ODE as it is: ut-u=0 Creates a global DOF Easier to use than Weak Form, Point
New CFD Benchmark: Turek's Laminar flow, 3D On 32-bit architecture, 2GB RAM: 450 kdofs, minutes –In 3.1, 240 kdofs, 4-5 hours On 64-bit architecture, 12 GB RAM: 2150 kdofs, 6-8 hours –In 3.1, kdofs, 16 hours
Exciting new feature: Moving boundaries and mesh with the ALE-method
Moving meshes with ALE ALE is a technique used to handle single physics or multiphysics problems where the effect of the deformation on the physics cannot be neglected. A simple example of this is the 2D fluid structure interaction model:
Original mesh Deformed mesh ALE smooths out the mesh deformations in the entire domain in a diffusive manner Analogy: Think of the mesh element edges as interconnected springs which are compressed or extended due to prescribed deformations on the boundary or in the subdomain Moving meshes with ALE
Implementation and use The deformed mesh (ALE) is now “baked into” an application mode of its own:
Implementation and use Two coordinate systems: reference frame (Geom1) and deformed frame (Frame(ale)) The structural application mode usually drives the deformation - -include this in the reference frame. Include forces driving structural deformations (for example pressure from fluid) in the moving frame
Sloshing tank
Peristaltic pump
ALE method - limitations Does not handle topology changes OK Not OK
Example: Parameterized geomety (ALE)
Objective To make it possible to automate modification of geometry without resorting to command line The changes made to the geometry can be for example translation or scaling of a given geometry object
Simple example of Parameterized Geometry Distributed heat source All boundares kept at T=288 K Moving drilled hole (mesh deformation)
Results, temp Deformed mesh
”Catch” parts of COMSOL Multiphysics in your own easy- to-use windows. Create a GUI of your own that can run all types of scripts: COMSOL Multiphysics or user-defined. Uniqe function: customized GUIs work with all types user functions for all types of analysis! New in COMSOL 3.2: Customized GUIs
How to do? Two simple steps: 1.Create a Java component through a simple script 2.Run your own script functions through a GUI event (push a button)
Why customized GUIs? Perfect for teaching. Allow the user to generate simplified GUI for customized problem. Non specialist engineer can do a finite element analysis. Consultancy company that can provide a study to their own customer. Design engineer that are not specialized in FE analysis for quick and common optimization of designed.
Components Each frame can be split in different panel. Don’t need to define the size of each panel as they are automatically scaled on a grid Panel 2 Panel 1 Panel 3 Panel 4 Axes
The m-files minigui.m (sets up the GUI): f1=frame('FEMLAB','size',[ ]); p1=panel; p1.add(label('Rectangle width:'),1,1); p1.add(label('Rectangle height:'),2,1); p1.add(label('Circle center x:'),3,1); etc. p2=panel; p2.add(label('Element size:'),1,1); etc. f1.get('geombutton').addActionListener('geommodel'); f1.get('meshbutton').addActionListener('meshmodel'); f1.get('solvebutton').addActionListener('solvemodel'); f1.get('plotbutton').addActionListener('plotmodel'); geommodel.m (creates the geometry): function geommodel(event) width=frame.get('width').getValue; height=frame.get('height').getValue; centerx=frame.get('centerx').getValue; centery=frame.get('centery').getValue; radius=frame.get('radius').getValue; g1=rect2(width,height,'pos',{'0','0'}); g2=circ2(radius,'pos',{centerx,centery}); s.objs={g1,g2}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); geomplot(fem);
Quick preview: COMSOL Reaction Engineering LAB
What is the Reaction Engineering Lab?
3 cornerstones of Reaction Engineering Reaction kinetics –Evaluate it quickly Physical properties of reacting systems –Be accurate Modeling coupled phenomena –Stay organized
Setting up reaction kinetics
Physical properties of reacting systems