400 likes | 1.08k Vues
News in COMSOL Multiphysics 3.2. Prague 2005-11-15 Bertil Waldén COMSOL AB. Place. 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
E N D
News in COMSOL Multiphysics 3.2 Prague 2005-11-15 Bertil Waldén COMSOL AB Place
FEMLAB is now COMSOL MultiphysicsTM • 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
New Products • COMSOL ScriptTM • 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 ScriptTM 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
Support for units • Metric units • SI units • CGS units • MPa units suitable for structural analys • EM units • ES units • English units • British engineeringunits • FPS • IPS • Gravitational IPS • No units
More improvements • Customized report For constants and expressions: • save and open • add descriptive comments 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
Performance Improvements: • 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)
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, 60-90 minutes • In 3.1, 240 kdofs, 4-5 hours • On 64-bit architecture, 12 GB RAM: 2150 kdofs, 6-8 hours • In 3.1, 400-500 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:
Moving meshes with ALE 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
ALE method - limitations • Does not handle topology changes OK Not OK
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)
Deformed mesh Results, temp
New in COMSOL 3.2: Customized GUIs • ”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!
How to do? Two simple steps: • Create a Java component through a simple script • 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.
Panel 1 Axes Panel 2 Panel 3 Panel 4 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
The m-files 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); minigui.m (sets up the GUI): f1=frame('FEMLAB','size',[800 600]); 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');
3 cornerstones of Reaction Engineering • Reaction kinetics • Evaluate it quickly • Physical properties of reacting systems • Be accurate • Modeling coupled phenomena • Stay organized