Introduction to COMSOL Multiphysics

Download Report

Transcript Introduction to COMSOL Multiphysics

News in COMSOL Multiphysics 3.2
Prague
Place
2005-11-15
Bertil Waldén
COMSOL AB
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
COMSOL Products
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
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
• Customized report
Select the content
of your report
For constants and expressions:
• save and open
• add descriptive comments
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
v
da
    cu   f
t
u
v  0
t
• 3.2: New formulation
– One variable, symmetric Jacobian if
the PDE is
 2u
– Very good for iterative solvers! ea
– Memory efficient!
u
 da
   cu   f
2
t
t
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
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)
Deformed mesh
Results, temp
New in COMSOL 3.2: Customized GUIs
• ”Catch” parts of COMSOL Multiphysics in your own easyto-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:
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 1
Axes
Panel 2
Panel 3
Panel 4
The m-files
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');
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