Cimrman Python Fem 04-03-2007
Transcript of Cimrman Python Fem 04-03-2007
-
8/13/2019 Cimrman Python Fem 04-03-2007
1/47
1/22
Introduction Our choice Example Problem Final slide :-)
Python + FEMIntroduction to SFE
Robert Cimrman
Department of Mechanics & New Technologies Research CentreUniversity of West Bohemia
Plzen, Czech Republic
April 3, 2007, Plzen
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
2/47
2/22
Introduction Our choice Example Problem Final slide :-)
Outline
1 IntroductionProgramming LanguagesProgramming Techniques
2 Our choice
Mixing Languages Best of Both WorldsPythonSoftware Dependencies
3 Example ProblemContinuous FormulationWeak FormulationProblem Description File
4 Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
3/47
3/22
Introduction Our choice Example Problem Final slide :-)
Programming Languages
1 compiled (fortran, C, C++, Java, . . . )
Prosspeed, speed, speed, . . . , did Isayspeed?
large code base (legacy codes),tradition
Cons(often) complicated build process,recompile after any change
low-level lots of lines to getbasic stuff done
code size maintenance problems
static!2 interpreted or scripting (sh, tcl, matlab, perl, ruby, python, . . . )
Pros
no compiling(very) high-level a few of linesto get (complex) stuff done
code size easy maintenance
dynamic!
(often) large code base
Cons
many are relatively newlack of speed, or even utterly slow!
O )
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
4/473/22
Introduction Our choice Example Problem Final slide :-)
Programming Languages
1 compiled (fortran, C, C++, Java, . . . )
Prosspeed, speed, speed, . . . , did Isayspeed?
large code base (legacy codes),tradition
Cons(often) complicated build process,recompile after any change
low-level lots of lines to getbasic stuff done
code size maintenance problems
static!2 interpreted or scripting (sh, tcl, matlab, perl, ruby, python, . . . )
Pros
no compiling(very) high-level a few of linesto get (complex) stuff done
code size easy maintenance
dynamic!
(often) large code base
Cons
many are relatively newlack of speed, or even utterlyslow!
I t d ti O h i E l P bl Fi l lid )
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
5/473/22
Introduction Our choice Example Problem Final slide :-)
Programming Languages
1 compiled (fortran, C, C++, Java, . . . )
Prosspeed, speed, speed, . . . , did Isayspeed?
large code base (legacy codes),tradition
Cons(often) complicated build process,recompile after any change
low-level lots of lines to getbasic stuff done
code size maintenance problems
static!2 interpreted or scripting (sh, tcl, matlab, perl, ruby, python, . . . )
Pros
no compiling(very) high-level a few of linesto get (complex) stuff done
code size easy maintenance
dynamic!
(often) large code base
Cons
many are relatively newlack of speed, or even utterlyslow!
Introduction Our choice Example Problem Final slide : )
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
6/473/22
Introduction Our choice Example Problem Final slide :-)
Programming Languages
1 compiled (fortran, C, C++, Java, . . . )
Prosspeed, speed, speed, . . . , did Isayspeed?
large code base (legacy codes),tradition
Cons(often) complicated build process,recompile after any change
low-level lots of lines to getbasic stuff done
code size maintenance problems
static!2 interpreted or scripting (sh, tcl, matlab, perl, ruby, python, . . . )
Pros
no compiling(very) high-level a few of linesto get (complex) stuff done
code size easy maintenance
dynamic!
(often) large code base
Cons
many are relatively newlack of speed, or even utterlyslow!
Introduction Our choice Example Problem Final slide : )
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
7/473/22
Introduction Our choice Example Problem Final slide :-)
Programming Languages
1 compiled (fortran, C, C++, Java, . . . )
Prosspeed, speed, speed, . . . , did Isayspeed?
large code base (legacy codes),tradition
Cons(often) complicated build process,recompile after any change
low-level lots of lines to getbasic stuff done
code size maintenance problemsstatic!
2 interpreted or scripting (sh, tcl, matlab, perl, ruby, python, . . . )
Pros
no compiling(very) high-level a few of linesto get (complex) stuff done
code size easy maintenance
dynamic!
(often) large code base
Cons
many are relatively newlack of speed, or even utterlyslow!
Introduction Our choice Example Problem Final slide :-)
http://find/http://goback/ -
8/13/2019 Cimrman Python Fem 04-03-2007
8/473/22
Introduction Our choice Example Problem Final slide : )
Programming Languages
1 compiled (fortran, C, C++, Java, . . . )
Prosspeed, speed, speed, . . . , did Isayspeed?
large code base (legacy codes),tradition
Cons(often) complicated build process,recompile after any change
low-level lots of lines to getbasic stuff done
code size maintenance problemsstatic!
2 interpreted or scripting (sh, tcl, matlab, perl, ruby, python, . . . )
Pros
no compiling(very) high-level a few of linesto get (complex) stuff done
code size easy maintenance
dynamic!
(often) large code base
Cons
many are relatively newlack of speed, or even utterlyslow!
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
9/474/22
Introduction Our choice Example Problem Final slide : )
Example Python Code
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
10/47
5/22
p )
Example C Code
c h a r s [ ] = s e l tudy , mel dudy . a s e l o pr av du t ud y . ;
i n t s t r f i n d (c h a r s t r , c h a r t g t ){
i n t t l e n = s t r l e n ( t g t ) ;i n t max = s t r l e n ( s t r ) t l e n ;r e g i s t e r i n t i ;
f o r ( i = 0 ; i < max ; i ++) {i f ( s tr nc mp (& s t r [ i ] , t g t , t l e n ) = = 0 )
r e t u r n i ;}r e t u r n 1;
}
i n t i 1 ;
i 1 = s t r f i n d ( s , tu d y ) ;
p r i n t f ( %d\n , i 1 ) ;
Introduction Our choice Example Problem Final slide :-)
http://find/http://goback/ -
8/13/2019 Cimrman Python Fem 04-03-2007
11/47
6/22
)
Programming Techniques
Random remarks:
spaghetti code
modular programming
OOP
design patterns(gang-of-four, GO4)
post-OOP dynamic languages
. . . all used, but I try to move down the list! :-)
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
12/47
6/22
Programming Techniques
Random remarks:
spaghetti code
modular programming
OOP
design patterns(gang-of-four, GO4)
post-OOP dynamic languages
. . . all used, but I try to move down the list! :-)
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
13/47
7/22
Mixing Languages Best of Both Worlds
Low level: C
FE matrix evaluations
costly mesh-related functions (listing faces, edges, surfacegeneration, ...)
. . .
can use alsofortran
+
High level: Python
www.python.orgbatteries included
logic of the code
configurationfiles!
probleminputfiles!
Introduction Our choice Example Problem Final slide :-)
http://www.python.org/http://www.python.org/http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
14/47
7/22
Mixing Languages Best of Both Worlds
Low level: C
FE matrix evaluations
costly mesh-related functions (listing faces, edges, surfacegeneration, ...)
. . .
can use alsofortran
+
High level: Python
www.python.orgbatteries included
logic of the code
configurationfiles!
probleminputfiles!
Introduction Our choice Example Problem Final slide :-)
http://www.python.org/http://www.python.org/http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
15/47
8/22
Python I
Python ris a dynamic object-oriented programming
language that can be used for many kinds of softwaredevelopment. It offers strong support for integration with otherlanguages and tools, comes with extensive standard libraries,and can be learned in a few days. Many Python programmersreport substantial productivity gains and feel the language
encourages the development of higher quality, moremaintainable code.
. . .
batteries included
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
16/47
Introduction Our choice Example Problem Final slide :-)
-
8/13/2019 Cimrman Python Fem 04-03-2007
17/47
10/22
Python III
NASA uses Python. . .
. . . so does Rackspace, Industrial Light and Magic, AstraZeneca,Honeywell, and many others.
http://wiki.python.org/moin/NumericAndScientific
http://wiki.python.org/moin/NumericAndScientifichttp://wiki.python.org/moin/NumericAndScientifichttp://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
18/47
Introduction Our choice Example Problem Final slide :-)
-
8/13/2019 Cimrman Python Fem 04-03-2007
19/47
11/22
Software Dependencies
1 libraries & modules
SciPy: free (BSD license) collection of numerical computinglibraries for Pythonenables Matlab-like array/matrix manipulations and indexing
UMFPACK: very fast direct solver for sparse systemsPython wrappers are part of SciPy :-)
output files (results) and data files in HDF5:general purpose library and file format for storing scientificdata, efficient storage and I/O.. .v iaPyTables
misc: Pyparsing,Matplotlib2 tools
SWIG: automatic generation of Python-C interface code Medit: simple mesh and data viewer ParaView: VTK-based advanced mesh and data viewer in
Tcl/Tk MayaVi/MayaVi2: VTK-based advanced mesh and data viewer
in Python
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
20/47
11/22
Software Dependencies
1 libraries & modules
SciPy: free (BSD license) collection of numerical computinglibraries for Pythonenables Matlab-like array/matrix manipulations and indexing
UMFPACK: very fast direct solver for sparse systemsPython wrappers are part of SciPy :-)
output files (results) and data files in HDF5:general purpose library and file format for storing scientificdata, efficient storage and I/O.. .v iaPyTables
misc: Pyparsing,Matplotlib2 tools
SWIG: automatic generation of Python-C interface code Medit: simple mesh and data viewer ParaView: VTK-based advanced mesh and data viewer in
Tcl/Tk MayaVi/MayaVi2: VTK-based advanced mesh and data viewer
in Python
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
21/47
11/22
Software Dependencies
1 libraries & modules
SciPy: free (BSD license) collection of numerical computinglibraries for Pythonenables Matlab-like array/matrix manipulations and indexing
UMFPACK: very fast direct solver for sparse systemsPython wrappers are part of SciPy :-)
output files (results) and data files in HDF5:general purpose library and file format for storing scientificdata, efficient storage and I/O.. .v iaPyTables
misc: Pyparsing,Matplotlib2 tools
SWIG: automatic generation of Python-C interface code Medit: simple mesh and data viewer ParaView: VTK-based advanced mesh and data viewer in
Tcl/Tk MayaVi/MayaVi2: VTK-based advanced mesh and data viewer
in Python
http://find/http://goback/ -
8/13/2019 Cimrman Python Fem 04-03-2007
22/47
-
8/13/2019 Cimrman Python Fem 04-03-2007
23/47
Introduction Our choice Example Problem Final slide :-)
-
8/13/2019 Cimrman Python Fem 04-03-2007
24/47
11/22
Software Dependencies
1 libraries & modules
SciPy: free (BSD license) collection of numerical computinglibraries for Pythonenables Matlab-like array/matrix manipulations and indexing
UMFPACK: very fast direct solver for sparse systemsPython wrappers are part of SciPy :-)
output files (results) and data files in HDF5:general purpose library and file format for storing scientificdata, efficient storage and I/O.. .v iaPyTables
misc: Pyparsing,Matplotlib2 tools
SWIG: automatic generation of Python-C interface code Medit: simple mesh and data viewer ParaView: VTK-based advanced mesh and data viewer in
Tcl/Tk MayaVi/MayaVi2: VTK-based advanced mesh and data viewer
in Python
Introduction Our choice Example Problem Final slide :-)
http://goforward/http://find/http://goback/ -
8/13/2019 Cimrman Python Fem 04-03-2007
25/47
11/22
Software Dependencies
1 libraries & modules
SciPy: free (BSD license) collection of numerical computinglibraries for Pythonenables Matlab-like array/matrix manipulations and indexing
UMFPACK: very fast direct solver for sparse systemsPython wrappers are part of SciPy :-)
output files (results) and data files in HDF5:general purpose library and file format for storing scientificdata, efficient storage and I/O.. .v iaPyTables
misc: Pyparsing,Matplotlib2 tools
SWIG: automatic generation of Python-C interface code Medit: simple mesh and data viewer ParaView: VTK-based advanced mesh and data viewer in
Tcl/Tk MayaVi/MayaVi2: VTK-based advanced mesh and data viewer
in Python
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
26/47
12/22
Shape Optimization in Incompressible Flow Problems
Objective Function
(u)
2
c|u|2 min (1)
minimize gradients of solution (e.g. losses) in c
by movingdesign boundary
perturbation of by vector field V(t) = + {tV(x)}x where V= 0 in c \ (2)
in outD
D
C C
D
Introduction Our choice Example Problem Final slide :-)
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
27/47
12/22
Shape Optimization in Incompressible Flow Problems
Objective Function
(u)
2
c|u|2 min (1)
minimize gradients of solution (e.g. losses) in c
by movingdesign boundary
perturbation of by vector field V(t) = + {tV(x)}x where V= 0 in c \ (2)
in outD
D
C C
D
Introduction Our choice Example Problem Final slide :-)
S O
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
28/47
12/22
Shape Optimization in Incompressible Flow Problems
Objective Function
(u)
2
c|u|2 min (1)
minimize gradients of solution (e.g. losses) in c
by movingdesign boundary
perturbation of by vector fieldV
(t) = + {tV(x)}x where V= 0 in c \ (2)
in outD
D
C C
D
Introduction Our choice Example Problem Final slide :-)
A i
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
29/47
13/22
Appetizer
flow and spline boxes, left: initial, right: final
connectivity of spline boxes (6 boxes in different colours)
Introduction Our choice Example Problem Final slide :-)
C i F l i
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
30/47
14/22
Continuous Formulation
laminar steady state incompressibleNavier-Stokes equations
2u+u u+ p = 0 in (3)
u = 0 in (4)
boundary conditions
u=u0 on in
pn+u
n =pn on out
u= 0 on walls
(5)
adjoint equationsfor computing the adjoint solution w:
2w+ u w u w r=c 2u in
w= 0 in (6)
w= 0 on in
walls
and c
is the characteristic function of c
Introduction Our choice Example Problem Final slide :-)
C ti F l ti
http://find/http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
31/47
14/22
Continuous Formulation
laminar steady state incompressibleNavier-Stokes equations
2u+u u+ p = 0 in (3)
u = 0 in (4)
boundary conditions
u=u0 on in
pn+u
n =pn on out
u= 0 on walls
(5)
adjoint equationsfor computing the adjoint solution w:
2w+ u w u w r=c 2u in
w= 0 in (6)
w= 0 on in
walls
and c
is the characteristic function of c
Introduction Our choice Example Problem Final slide :-)
W k F l ti
http://find/http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
32/47
15/22
Weak Formulation
state problem: find u, p (from suitable function spaces) such that
v :u+
(u u) v
p v=
out
pv n vV0 ,
q u= 0 qQ
(7)
adjoint equations: find w, r (from suitable function spaces) such that
v :w+
(v u) w+
(u v) w+
r v
=
c
v :u vV0 ,
q w= 0 qQ
(8)
+ proper BC ...
Introduction Our choice Example Problem Final slide :-)
W k F l ti
http://goforward/http://find/http://goback/ -
8/13/2019 Cimrman Python Fem 04-03-2007
33/47
15/22
Weak Formulation
state problem: find u, p (from suitable function spaces) such that
v :u+
(u u) v
p v=
out
pv n vV0 ,
q u= 0 qQ
(7)
adjoint equations: find w, r (from suitable function spaces) such that
v :w+
(v u) w+
(u v) w+
r v
=
c
v :u vV0 ,
q w= 0 qQ
(8)
+ proper BC ...
Introduction Our choice Example Problem Final slide :-)
Weak Formulation
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
34/47
15/22
Weak Formulation
state problem: find u, p (from suitable function spaces) such that
v :u+
(u u) v
p v=
out
pv n vV0 ,
q u= 0 qQ
(7)
adjoint equations: find w, r (from suitable function spaces) such that
v :w+
(v u) w+
(u v) w+
r v
=
c
v :u vV0 ,
q w= 0 qQ
(8)
+ proper BC ...
Introduction Our choice Example Problem Final slide :-)
Problem Description File I
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
35/47
16/22
Problem Description File I
a regular python file all python machinery is accessible!
requires/recognizes severalkeywordsto definemeshregions subdomains, boundaries, characteristic functions, . . .boundary conditions Dirichletfields field approximation per subdomainvariables unknown fields, test fields, parameters
equationsmaterials constitutive relations, e.g. newton fluid, elastic solid, . . .solver parameters nonlinear solver, flow solver, optimizationsolver, .... . .
Introduction Our choice Example Problem Final slide :-)
Problem Description File I
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
36/47
16/22
Problem Description File I
a regular python file all python machinery is accessible!
requires/recognizes severalkeywordsto definemeshregions subdomains, boundaries, characteristic functions, . . .boundary conditions Dirichletfields field approximation per subdomainvariables unknown fields, test fields, parameters
equationsmaterials constitutive relations, e.g. newton fluid, elastic solid, . . .solver parameters nonlinear solver, flow solver, optimizationsolver, .... . .
Introduction Our choice Example Problem Final slide :-)
Problem Description File II
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
37/47
17/22
Problem Description File IImesh
f i l e N a m e m e s h = s i m p l e . mes h
regionsr e gi o n 1 0 0 0 = {
name : Omega , s e l e c t : e l em e nt s o f g ro up 6 ,
}r e g i o n 0 = {
name : W a l l s ,
s e l e c t : n o d e s o f s u r f a c e n r . O u t l e t ,}r e g i o n 1 = {
name : I n l e t , s e l e c t : n o de s by c i n c ( x , y , z , 0 ) ,
}r e g i o n 2 = {
name : O u t l e t ,
s e l e c t : n o de s by c i n c ( x , y , z , 1 ) ,}r e g i o n 1 0 0 = {
name : Omega C , # C o n t r o l d om ai n . s e l e c t : n o de s i n ( x > 25.9999e 3 ) & ( x < 18.990e3 ) ,
}r e g i o n 1 0 1 = {
name : Omega D , # D e s i g n d om a in .
s e l e c t : a l l e r . Omega C ,}
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
38/47
Introduction Our choice Example Problem Final slide :-)
Problem Description File III
-
8/13/2019 Cimrman Python Fem 04-03-2007
39/47
18/22
Problem Description File III
fieldsf i e l d 1 = {
name : 3 v e l o c i t y , dim : ( 3 , 1 ) , f l a g s : ( BQP , ) , b a s e s : ( ( Omega , 3 4 P 1B ) , )
}
f i e l d 2 = { name : p r e s s u r e , dim : ( 1 , 1 ) , f l a g s : ( ) , b a s e s : ( ( Omega , 3 4 P 1 ) , )
}
variablesv a r i a b l e s = {
u : ( f i e l d , p a ra m et e r , 3 v e l o c i t y , ( 3 , 4 , 5 ) ) , w 0 : ( f i e l d , p a ra me te r , 3 v e l o c i t y , ( 3 , 4 , 5 ) ) ,w : ( f i e l d , unknown , 3 v e l o c i t y , ( 3 , 4 , 5 ) , 0 ) , v : ( f i e l d , t e s t , 3 v e l o c i t y , ( 3 , 4 , 5 ) , w ) , p : ( f i e l d , p a ra me te r , p r e s s u r e , ( 9 , ) ) , r : ( f i e l d , unknown , p r e s s ur e , ( 9 , ) , 1 ) , q : ( f i e l d , t e s t , p r e s s u r e , ( 9 , ) , r ) , Nu : ( f i e l d , m e sh Ve lo ci t y , p r e s s ur e , ( 9 , ) ) ,
}
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
40/47
Introduction Our choice Example Problem Final slide :-)
Problem Description File IV
-
8/13/2019 Cimrman Python Fem 04-03-2007
41/47
19/22
Problem Description File IV
Dirichlet BC
e b c = { W a ll s : ( ( W a ll s , ( 3 , 4 , 5 ) , 0 . 0 ) , ) , I n l e t : ( ( V e l o c i t y I n l e t x , ( 4 , ) , 1 . 0 ) ,
( V e l o c i t y I n l e t y z , ( 3 , 5 ) , 0 . 0 ) ) ,}
state equations(compare with (7))
e q u a t i o n s = { b a l a n ce :+ d w d i v g r a d . Omega ( f l u i d , v , w )
+ d w c o n v e c t . Omega ( v , w ) dw g r ad . Omega ( v , r )= d w s u r f a c e l t r . O u t le t ( b p re s s , v ) ,
i n c o m p r e s s i b i l i t y : d w d i v . Omega ( q , w ) = 0 ,
}
Introduction Our choice Example Problem Final slide :-)
Problem Description File V
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
42/47
20/22
Problem Description File V
adjoint equations(compare with (8))
e q u a t i o n s a d j o i n t = { b a l a n ce :+ d w d i v g r a d . Omega ( f l u i d , v , w )
+ d w a d j c o n v e c t 1 . Omega ( v , w , u )+ d w a d j c o n v e c t 2 . Omega ( v , w , u )+ d w g r a d . Omega ( v , r )= d w a d j d i v g r a d 2 . Omega C ( one , f l u i d , v , u ) ,
i n c o m p r e s s i b i l i t y :
d w d i v . Omega ( q , w ) = 0 ,}
materialsm a t e r i a l 2 = {
name : f l u i d , mode : h e r e , r e g i o n : Omega ,
v i s c o s i t y : 1 . 2 5 e1,}m a t e r i a l 1 0 0 = {
name : b p r e s s , mode : h e r e , r e g i o n : Omega , v a l : 0 . 0 ,
}
Introduction Our choice Example Problem Final slide :-)
Problem Description File V
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
43/47
20/22
p
adjoint equations(compare with (8))
e q u a t i o n s a d j o i n t = { b a l a n ce :+ d w d i v g r a d . Omega ( f l u i d , v , w )
+ d w a d j c o n v e c t 1 . Omega ( v , w , u )+ d w a d j c o n v e c t 2 . Omega ( v , w , u )+ d w g r a d . Omega ( v , r )= d w a d j d i v g r a d 2 . Omega C ( one , f l u i d , v , u ) ,
i n c o m p r e s s i b i l i t y :
d w d i v . Omega ( q , w ) = 0 ,}
materialsm a t e r i a l 2 = {
name : f l u i d , mode : h e r e , r e g i o n : Omega ,
v i s c o s i t y : 1 . 2 5 e1,}m a t e r i a l 1 0 0 = {
name : b p r e s s , mode : h e r e , r e g i o n : Omega , v a l : 0 . 0 ,
}
Introduction Our choice Example Problem Final slide :-)
Yes, the final slide!
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
44/47
21/22
,
What is done
basic FE element engineapproximations up to P2 onsimplexes (possibly withbubble)Q1 tensor-product
approximation on rectangleshandling of fields and variables
boundary conditions, DOFhandling
FE assembling
equations, terms, regionsmaterials, material caches
generic solvers (Newton iteration,direct linear system solution)
What is not done
general FE engine, with symbolicevaluation (a la SyFi - merge it?)
documentation, unit tests
organization of solvers
fast problem-specific solvers
parallelization of both assemblingand solving
use PETSC?
What will not be done (?)
GUI
real symbolic parsing/evaluation ofequations
Introduction Our choice Example Problem Final slide :-)
Yes, the final slide!
http://goforward/http://find/http://goback/ -
8/13/2019 Cimrman Python Fem 04-03-2007
45/47
21/22
,
What is done
basic FE element engineapproximations up to P2 onsimplexes (possibly withbubble)Q1 tensor-product
approximation on rectangleshandling of fields and variables
boundary conditions, DOFhandling
FE assembling
equations, terms, regionsmaterials, material caches
generic solvers (Newton iteration,direct linear system solution)
What is not done
general FE engine, with symbolicevaluation (a la SyFi - merge it?)
documentation, unit tests
organization of solvers
fast problem-specific solvers
parallelization of both assemblingand solving
use PETSC?
What will not be done (?)
GUI
real symbolic parsing/evaluation ofequations
Introduction Our choice Example Problem Final slide :-)
Yes, the final slide!
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
46/47
21/22
What is done
basic FE element engineapproximations up to P2 onsimplexes (possibly withbubble)Q1 tensor-product
approximation on rectangleshandling of fields and variables
boundary conditions, DOFhandling
FE assembling
equations, terms, regionsmaterials, material caches
generic solvers (Newton iteration,direct linear system solution)
What is not done
general FE engine, with symbolicevaluation (a la SyFi - merge it?)
documentation, unit tests
organization of solvers
fast problem-specific solvers
parallelization of both assemblingand solving
use PETSC?
What will not be done (?)
GUI
real symbolic parsing/evaluation ofequations
Introduction Our choice Example Problem Final slide :-)
This is not a slide!
http://find/ -
8/13/2019 Cimrman Python Fem 04-03-2007
47/47
22/22
http://find/