Beruflich Dokumente
Kultur Dokumente
and
finite element analysis
AceGen
Multi-language, Multi-
environment Numerical Code
Generation
AceFEM
The Mathematica Finite
Element Environment
AceShare
Finite Element File
Sharing
1 J. KORELC, UNIVERSITY OF LJUBLJANA
AceGen
Multi-language, Multi-
environment Numerical Code
Generation
Key features:
• simultaneous derivation of expressions, global optimization of
expressions and generation of program structure
• automatic selection of the appropriate intermediate variables
• forward and backward mode of automatic differentiation technique
• multi-language code generation (Fortran/Fortran90, C, Mathematica©
language, Matlab© language),
• the generated codes are higly efficient and portable
• symbolic derivation of the characteristic quantities needed in numerical
procedures (e.g. gradients, tangent operators, sensitivity vectors, etc.)
• automatic interface to general environments (MathLink connection to
Mathematica, Matlab©) and specialized FEM environments
(AceFEM©, FEAP©, ELFEN©, ABAQUS©,...)
2 J. KORELC, UNIVERSITY OF LJUBLJANA
AceGen - highlights
AceGen
- interface code
- symbolic input
- initialization
- problem formulation
- numerical integration
- user subroutines
-…
ELFEN FEAP
MathLink AceFEM
MATLAB
CDriver MDriver ABAQUS
….
Numerical environments
3 J. KORELC, UNIVERSITY OF LJUBLJANA
AceGen - highlights
Simultaneous optimizations of expressions:
{ v} = ⎧⎨
12 EI v1 L 2 v 2 L ⎫ vector of
Original matrix − − ⎬
(input for code generator): ⎩ L
3
2 3 ⎭ auxiliary
variables
⎡ 12 EI 6 EI 12 EI 6 EI ⎤ internal
⎢ L3 − 2 − 2 ⎥
L L3 L data base
⎢ 6 EI 4 EI 6 EI 2 EI ⎥
⎢− 2 ⎥
[ K0 ] = ⎢⎢ 12 EI
L L
6 EI
L2
12 EI
L ⎥
6 EI ⎥
user AceGen
⎢ L3 L2 L3 L2 ⎥
⎢ 6 EI 2 EI 6 EI 4 EI ⎥ Mathematic
⎢− 2 ⎥ a
⎣ L L L2 L ⎦
⎡ v1 v2 − v1 v2 ⎤
⎢ v3 ⎥
⎢ v2 v3 − v2 ⎥
[ K S ] = ⎢− v1 − v2 v1
2 ⎥
− v2 ⎥
⎢
• heuristic procedures ⎢v v3
− v2 v3 ⎥
⎢⎣ 2 2 ⎥⎦
• random signatures of Result is simplified matrix, expressed with the
expressions new auxiliary variables
SMSExport@g, g$$D;
SMSWrite@D;
subroutine elmt10(d,ul,xl,ix,tl,s,p,ndfe,ndme,nste,isw)
#include "sms.h"
implicit none
void SKR(double v[5001],ElementSpec *es,ElementData *ed,NodeS
include 'sms.h'
FILE *SMTFile;
integer ix(nen),ndme,ndfe,nste,isw,INTEGRATIONCODE
double precision xl(ndme,nen),d(*),ul(ndfe,nen,*)
DLLEXPORT int SMTSetElSpec(ElementSpec *es,int *idata,int ic,in
double precision s(nste,nste),p(nste),tl(nen),sxd(24)
{ int intc,nd,i;
static int pn[6]={1, 2, 3, 4, 0, 0};
Suplementary
static int dof[4]={5, 5, 5, 5}; routines double precision sall(33,33),pall(33),du(24),dh(9)
double precision ul0(ndfe,nen),sg(24),sg0(24)
static int nsto[4]={0, 0, 0, 0};
character*50 SELEM,datades(2),postdes(0)
static int ndat[4];
logical DEBUG
…..
Key features:
• hybrid symbolic-numeric FEM environment
• AceFEM combines use of Mathematica’s features with external
handling of intensive computations by compiled modules
• customized FEM-based applications in Mathematica.
• AceFEM combines use of Mathematica’s features with external
handling of intensive computations by compiled modules
• support for web-based FEM throught webMathematica
• parallel optimisation throught gridMathematica
• build-in structured mesh generation and interface to GID© general
preprocessor
• fast sparse solvers, exact sensitivity analysis, etc.
Key features:
• enables browsing and downloading the FE user subroutines from
standard and third-party on-line libraries
• provides mechanism for the formation of the third-party libraries to be
posted on the internet
• includes symbolic templates for direct and exact sensitivity analysis of
steady state, transient, coupled and coupled transient problems
• available libraries include AceGen templates and user subroutine source
codes for solid, structural, thermal and contact FE for all supported
environments (FEAP©, ELFEN©, AceFEM©, AceFEM-MDriver,
ABAQUS©, …)
• AceShare is ideal medium for the dissemination and verification of
new numerical methods
AceFEM
Mathematica C language
General procedures CDriver
- input data processing
MathLink- data base
- mesh generation - evaluation of element quantities
- solution strategies - assembly of element contributions
- command language - various linear solvers
- graphic post-processing
dynamic link
element 1 AceShare
element 2 .m file
.m file - FEM file sharing system
element ... - download .dll or .m files
.m file
MACRO - lubricant flow in contact surface MACRO - thermal properties of contact surface
13 J. KORELC, UNIVERSITY OF LJUBLJANA
AceFEM - highlights: structural analysis
• Sensitivity analysis of single-storey steel building
• four node shell elements and large displacement truss elements
18
16 Analitic (elastic)
14
Finite differeces (elastic)
12
Analitic (plastic)
A
Sensitivity
10
Finite differeces (plastic)
β 8
0
0 10 20 30 40 50
Roof angle (deg)
• AceGen + AceFEM
– complete Finite Element System
– commercial linear solver (Intel MKL), meshing, …
16 J. KORELC, UNIVERSITY OF LJUBLJANA