getdp a general software environment for the treatment of
play

GetDP A general software environment for the treatment of discrete - PowerPoint PPT Presentation

GetDP A general software environment for the treatment of discrete problems Patrick Dular and Christophe Geuzaine Department of Electrical Engineering Montefiore Institute B28, Sart Tilman Campus University of Li` ege B-4000 Li` ege


  1. GetDP — A general software environment for the treatment of discrete problems Patrick Dular and Christophe Geuzaine Department of Electrical Engineering Montefiore Institute B28, Sart Tilman Campus University of Li` ege B-4000 Li` ege (BELGIUM)

  2. An environment open to various couplings Any coupling between • Physical problems (electromagnetic, thermal, mechanical, ...) • Numerical methods (finite element methods, integral methods, ...) • Geometries (1D, 2D, 3D) • Time states (static, harmonic, transient, eigen values) How? • Clear mathematical definitions/structure • Directly transcribed into 10 interdependent objects Version 0.83 / July 26, 2001 GetDP 2

  3. Definition of discrete problems Copy of the formal mathematical expression of problems in text data files (“ .pro files”) Function Group Constraint PostOperation FunctionSpace Formulation Resolution PostProcessing Integration Jacobian Version 0.83 / July 26, 2001 GetDP 3

  4. Definition of discrete problems (2) Particular data of a problem Function Group Constraint PostOperation FunctionSpace Formulation Resolution PostProcessing Integration Jacobian Method of resolution (“black box”) Version 0.83 / July 26, 2001 GetDP 4

  5. Group : defining topological entities Function Group Constraint PostOperation FunctionSpace Formulation Resolution PostProcessing • Regions Integration • Functions on Regions (nodes, Jacobian edges, edges of tree, ...) Air = Region[1]; //elementary group (linked with the mesh) Core = Region[2]; Omega = Region[ { Air, Core } ]; Nodes = NodesOf[Omega]; //function group Version 0.83 / July 26, 2001 GetDP 5

  6. Function : defining expressions Function • Piecewise definitions Group Constraint PostOperation FunctionSpace Formulation Resolution PostProcessing • Physical characteristics Integration • Time functions Jacobian • Various other functions (natural constraints, ...) mu0 = 4.e-7*Pi; f = 50; //constants mu[Air] = mu0; mu[Core] = mu0 + 1/(100+100*$1^6); //argument ($1 <- b) TimeFct[] = Cos[2*Pi*f*$Time] * Exp[-$Time/0.01]; //current val. Version 0.83 / July 26, 2001 GetDP 6

  7. Constraint : specifying constraints • Boundary conditions (classical, Function connection) Group Constraint PostOperation FunctionSpace Formulation Resolution PostProcessing • Initial conditions Integration • Topology of circuits with lumped Jacobian elements • Other constraints (on local and global quantities) { Name Dirichlet; Type Assign; //boundary conditions Case { { Region Surface0; Value 0; } { Region Surface1; Value 1; } } } Version 0.83 / July 26, 2001 GetDP 7

  8. Constraint : specifying constraints (2) { Name Current; Type Assign; //constraints on global quantities Case { { Region Inductor1; Value 1000; TimeFunction TimeFct[]; } } } { Name ElectricalCircuit; Type Network; //circuit Case Circuit1 { E 1 { Region E1; Branch { 1,2 } ; } R 1 L 1 { Region R1; Branch { 1,3 } ; } 3 2 1 { Region L1; Branch { 3,2 } ; } C 1 { Region C1; Branch { 1,2 } ; } } } Version 0.83 / July 26, 2001 GetDP 8

  9. FunctionSpace : building function spaces • Various quantity types (0, 1, 2, Function 3-forms, scalar, vector) Group Constraint PostOperation • Various basis functions FunctionSpace Formulation Resolution PostProcessing (associated with nodes, edges, Integration facets, volumes) of various orders Jacobian • Coupling of fields and potentials ( t - ω , h - φ , a - v , ...) Basis functions • Definition of global quantities (fluxes, circulations: current, f ( x ) = � i ∈ E f i w i ( x ) voltage, m.m.f., ...) • Essential constraints (boundary Geometrical Degrees of and gauge conditions, ...) entities freedom Version 0.83 / July 26, 2001 GetDP 9

  10. FunctionSpace : building function spaces (2) { Name H1; Type Form0; //discrete function space for H1 BasisFunction { { Name wi; NameOfCoef fi; Function BF_Node; //order 1 Support Omega; Entity NodesOf[All]; } { Name wi2; NameOfCoef fi2; Function BF_Node_2E; //order 2 Support Omega; Entity EdgesOf[All]; } } Constraint { { NameOfCoef fi; //cf. ’Constraint’ EntityType NodesOf; NameOfConstraint Dirichlet; } { NameOfCoef fi2; EntityType EdgesOf; NameOfConstraint Dirichlet2; } } } Version 0.83 / July 26, 2001 GetDP 10

  11. Jacobian : defining jacobian methods • Mapping from reference to real Function space Group Constraint PostOperation FunctionSpace Formulation Resolution PostProcessing • Geometrical transformations Integration (axisymmetric transformation, Jacobian infinite domains, ...) { Name Jacobian1; Case { //piecewise defined on groups { Region OmegaInf; Jacobian VolSphShell { Rint, Rext } ; } { Region OmegaAxi; Jacobian VolAxi; } { Region All; Jacobian Vol; } } } Version 0.83 / July 26, 2001 GetDP 11

  12. Integration : defining integration methods • Various numeric and analytic Function integration methods Group Constraint PostOperation FunctionSpace Formulation Resolution PostProcessing • Criterion-based selection Integration Jacobian { Name Integration1; Criterion Test[]; //combination of methods Case { { Type Gauss; Case { { GeoElement Triangle; NumberOfPoints 12; } { GeoElement Tetrahedron; NumberOfPoints 15; } } } { Type Analytic; } } } Version 0.83 / July 26, 2001 GetDP 12

  13. Formulation : building equations • Various formulation types: Function FEM, BEM, circuit equations, ... Group Constraint PostOperation • Symbolic expression of FunctionSpace Formulation Resolution PostProcessing equations: volume and surface Integration integral terms, collocation Jacobian • Involves local, global and integral quantities based on function spaces ∂ 2 t ( ǫ e , e ′ ) + ( µ − 1 curl e , curl e ′ ) = 0 Equation { Galerkin { DtDt [ epsilon[] * Dof { e } , { e } ]; ... } Galerkin { [ 1/mu[] * Dof { Curl e } , { Curl e } ]; ... } } Version 0.83 / July 26, 2001 GetDP 13

  14. Resolution : solving systems of equations • Description of a sequence of Function operations Group Constraint PostOperation • Time loops (with time step FunctionSpace Formulation Resolution PostProcessing adaptation) Integration Jacobian • Nonlinear iterative loops (e.g. fixed point or Newton-Raphson methods) Operation { • Coupled problems (e.g. InitSolution[A]; TimeLoopTheta[tmin,tmax,dt,1] { magneto-thermal coupling) Generate[A]; Solve[A]; • Linking of various resolution If[Save[]] { SaveSolution[A]; } steps (e.g. pre-computation } of source fields) } Version 0.83 / July 26, 2001 GetDP 14

  15. PostProcessing : exploiting computational data Function • “Front-end” to computational Group Constraint PostOperation data FunctionSpace Formulation Resolution PostProcessing Integration • Piecewise definition of any Jacobian quantity of interest • Local or integral evaluation Quantity { { Name B; Value { Local { [ -mu[]* { Grad phi } ]; In Omega; } Local { [ - { dGreen } ]; In Gamma; } } } Version 0.83 / July 26, 2001 GetDP 15

  16. PostOperation : exporting results • Evaluation of post-processing Function quantities (e.g. maps, sections, Group Constraint PostOperation local or global evaluation, ...) FunctionSpace Formulation Resolution PostProcessing Integration • Operations on post-processing Jacobian quantities (sorting, smoothing, adaptation, ...) • Various output formats (e.g. space or time oriented, text, binary, ...) Print[ B, OnElementsOf Omega, File "b.pos", Format Gmsh ]; Print[ B, OnLine {{ 0,0,0 }{ 1,0,0 }} { 100 } , File "b.txt" ]; Version 0.83 / July 26, 2001 GetDP 16

  17. Examples

  18. � � Magnetostatics curl h = j , div b = 0 and b = µ h + µ 0 h m grad h � h curl h � div h � 0 φ j µ b � curl e a 0 � div e • Weak form of Gauss’ law: ∀ φ ′ ∈ H 1 ( b , grad φ ′ ) + � n · b , φ ′ � = 0 0 (Ω) • Weak form of Amp` ere’s law: ∀ a ′ ∈ H 0 ( curl ; Ω) ( h , curl a ′ ) + � n × h , a ′ � = ( j , a ′ ) Version 0.83 / July 26, 2001 Examples 2

  19. Magnetostatics: b -conforming Vector potential formulation b = curl a ⇓ Weak form of Amp` ere’s law ⇓ ∀ a ′ ∈ H 0 ( curl ; Ω) ( µ − 1 curl a , curl a ′ ) = ( j , a ′ ) , NB: gauge for a , ... Version 0.83 / July 26, 2001 Examples 3

  20. Magnetostatics: b -conforming (2) Group { Core = #1; Inductor = #2; SkinInductor = #3, Air = #4; Omega = Region[ { Core, Inductor, Air } ]; } Function { mu0 = 4.e-7 * Pi; mur = 1000; mu[ Core ] = mur * mu0; mu[ Region[ { Air, Inductor } ] ] = mu0; j[ Inductor ] = ...; //to be defined } Constraint { { Name a; Case { { Region CL_a0; Value 0; } } } } Version 0.83 / July 26, 2001 Examples 4

  21. Magnetostatics: b -conforming (3) FunctionSpace { { Name Hcurl; Type Form1; //vector potential BasisFunction { { Name se; NameOfCoef ae; Function BF_Edge; Support Omega; Entity EdgesOf[All]; } //associated with the edges of the mesh } Constraint { //essential constraint + gauge (unicity) { NameOfCoef ae; EntityType EdgesOf; NameOfConstraint a; } { NameOfCoef ae; EntityType EdgesOfTreeIn; EntitySubType StartingOn; NameOfConstraint Gauge; } } } } Version 0.83 / July 26, 2001 Examples 5

  22. Magnetostatics: b -conforming (4) Formulation { { Name MagSta_a; Type FemEquation; Quantity { { Name a; Type Local; NameOfSpace Hcurl; } } Equation { Galerkin { [ 1/mu[] * Dof { Curl a } , { Curl a } ]; In Omega; Integration I1; Jacobian JVol; } Galerkin { [ -j[] , { a } ]; In Inductor; Integration I1; Jacobian JVol; } } } } Version 0.83 / July 26, 2001 Examples 6

Recommend


More recommend