Navigation
index
next
|
GetFEM++
»
GetFEM++ Documentation contents
ΒΆ
User Documentation
Introduction
How to install
Linear algebra procedures
MPI Parallelization of
GetFEM++
State of progress of
GetFEM++
MPI parallelization
Catch errors
Build a mesh
Add an element to a mesh
Remove an element from a mesh
Simple structured meshes
Mesh regions
Methods of the
getfem::mesh
object
Using
dal::bit_vector
Face numbering
Save and load meshes
Build a finite element method on a mesh
First level: manipulating fems on each elements
Examples
Second level: the optional “vectorization/tensorization”
Third level: the optional linear transformation (or reduction)
Obtaining generic
mesh_fem
‘s
The partial_mesh_fem object
Selecting integration methods
Methods of the
mesh_im
object
Mesh refinement
Compute arbitrary terms - high-level generic assembly procedures - Weak-form language
Differences in execution time between high and low level generic assembly
Overview of the weak form language syntax
Some basic examples
Derivation order and symbolic differentiation
C++ Call of the assembly
C++ assembly examples
Script languages call of the assembly
The tensors
The variables
The constants or data
Test functions
Gradient
Hessian
Predefined scalar functions
User defined scalar functions
Derivatives of defined scalar functions
Binary operations
Unary operators
Parentheses
Explicit vectors
Explicit matrices
Explicit tensors
Access to tensor components
Constant expressions
Special expressions linked to the current position
Print command
Reshape a tensor
Trace, Deviator, Sym and Skew operators
Nonlinear operators
Macro definition
Explicit Differentiation
Explicit Gradient
Interpolate transformations
Element extrapolation transformation
Evaluating discontinuities across inter-element edges/faces
Double domain integrals or terms (convolution - Kernel - Exchange integrals)
Elementary transformations
Xfem discontinuity evaluation (with mesh_fem_level_set)
Storage of sub-expressions in a getfem::im_data object during assembly
Compute arbitrary terms - low-level generic assembly procedures
available operations inside the
comp
command
others operations
Some Standard assembly procedures (low-level generic assembly)
Laplacian (Poisson) problem
Linear Elasticity problem
Stokes Problem with mixed finite element method
Assembling a mass matrix
Interpolation of arbitary quantities
Basic interpolation
Interpolation based on the high-level weak form language
Incorporate new finite element methods in
GetFEM++
Incorporate new approximated integration methods in
GetFEM++
Level-sets, Xfem, fictitious domains, Cut-fem
Representation of level-sets
Mesh cut by level-sets
Adapted integration methods
Cut-fem
Discontinuous field across some level-sets
Xfem
Post treatment
Interpolation of a finite element method on non-matching meshes
mixed methods with different meshes
mortar methods
Compute
and
norms
Compute derivatives
Export and view a solution
Saving mesh and mesh_fem objects for the Matlab interface
Producing mesh slices
Exporting
mesh
,
mesh_fem
or slices to VTK
Exporting
mesh
,
mesh_fem
or slices to OpenDX
A pure convection method
The model description and basic model bricks
The model object
The
brick
object
How to build a new brick
How to add the brick to a model
Generic assembly bricks
Generic elliptic brick
Dirichlet condition brick
Generalized Dirichlet condition brick
Pointwise constraints brick
Source term bricks (and Neumann condition)
Predefined solvers
Example of a complete Poisson problem
Nitsche’s method for dirichlet and contact boundary conditions
Constraint brick
Other “explicit” bricks
Helmholtz brick
Fourier-Robin brick
Isotropic linearized elasticity brick
Linear incompressibility (or nearly incompressibility) brick
Mass brick
Bilaplacian and Kirchhoff-Love plate bricks
Mindlin-Reissner plate model
The model tools for the integration of transient problems
Small sliding contact with friction bricks
Large sliding/large deformation contact with friction bricks
Numerical continuation and bifurcation
Numerical continuation
Detection of limit points
Numerical bifurcation
Approximation of solution curves of a model
Finite strain Elasticity bricks
Some recalls on finite strain elasticity
Add an nonlinear elasticity brick to a model
Add a large strain incompressibility brick to a model
High-level generic assembly versions
Small strain plasticity
Theoretical background
Flow rule integration
Some classical laws
Elasto-plasticity bricks
ALE Support for object having a large rigid body motion
ALE terms for rotating objects
ALE terms for a uniformly translated part of an object
Appendix A. Finite element method list
Classical
Lagrange elements on simplices
Classical Lagrange elements on other geometries
Elements with hierarchical basis
Classical vector elements
Specific elements in dimension 1
Specific elements in dimension 2
Specific elements in dimension 3
Appendix B. Cubature method list
Exact Integration methods
Newton cotes Integration methods
Gauss Integration methods on dimension 1
Gauss Integration methods on dimension 2
Gauss Integration methods on dimension 3
Direct product of integration methods
Specific integration methods
Composite integration methods
References
GetFEM++
Tutorial
Introduction
C++, Python, Scilab or Matlab ?
Where are demo files ?
How to install
Basic Usage of
GetFEM++
Example of Thermo-elastic and electrical coupling (simple nonlinear coupled problem, model object, generic assembly, solve and visualization)
The problem setting
The weak formulation
Implementation in C++ and with the interface
Example of wheel in contact (Assembly between two meshes, transformations, use of fixed size variables)
The problem setting
Building the program
Description of the Project
Introduction
How to contribute / Git repository on Savannah
How to get the sources
How to contribute
Specific branch for doc improvements and typo-fixes
Locally commit your changes
Push you changes in the Savannah repository
Ask for an admin to merge your modifications to the master branch of
GetFEM++
Merge modifications done by other contributors
Some useful git commands
The FEM description in
GetFEM++
Convex structures
Convexes of reference
Shape function type
Geometric transformations
Finite element methods description
Description of the different parts of the library
Gmm library
Dal library
Miscellaneous algorithms
Events management
Mesh module
Fem module
Integ module
MeshFem module
MeshIm module
Level-set module
The high-level generic assembly module in
GetFEM++
The low-level generic assembly module in
GetFEM++
Model module
Continuation module
Interface with scripts languages (Python, Scilab and Matlab)
Appendix A. Some basic computations between reference and real elements
Volume integral
Surface integral
Derivative computation
Second derivative computation
Example of elementary matrix
References
Gmm++ Library
Introduction
Installation
Matrix and Vector type provided by
Gmm++
dense vectors
sparse vectors
skyline vectors
generic row and column matrices
dense matrices
sparse matrices
Input and output with Harwell-Boeing and Matrix Market formats
sub-vectors and sub-matrices
row and column of a matrix
Miscellaneous methods
Basic linear algebra operations
scale and scaled
transposition
imaginary and real part
conjugate
add
mult
norms
trace
scalar product
Solving triangular systems
Dense LU decomposition
Dense QR factorisation, eigenvalues and eigenvectors
Iterative solvers
iterations
Linear solvers
Preconditioners
Additive Schwarz method
Range basis function
Catch errors
Interface with BLAS, LAPACK or ATLAS
Interface with SuperLU
How to use
Gmm++
with QD type (double-double and quad-double)
First steps with
Gmm++
How can I invert a matrix ?
How can I solve a linear system ?
How can I transform a vector into a matrix and reshape it ?
What is the better way to resize a matrix ?
Deeper inside
Gmm++
The linalg_traits structure
How to iterate on the components of a vector
How to iterate on a matrix
How to make your algorithm working on all type of matrices
How to disable verifications
MatLab
Interface
Introduction
Installation
Preliminary
GetFEM++
organization
Functions
Objects
Examples
A step-by-step basic example
Another Laplacian with exact solution
Linear and non-linear elasticity
Avoiding the bricks framework
Other examples
Using Matlab Object-Oriented features
Draw Command reference
gf_colormap
gf_plot
gf_plot_1D
gf_plot_mesh
gf_plot_slice
Command reference
gf_asm
gf_compute
gf_cont_struct
gf_cont_struct_get
gf_cvstruct_get
gf_delete
gf_eltm
gf_fem
gf_fem_get
gf_geotrans
gf_geotrans_get
gf_global_function
gf_global_function_get
gf_integ
gf_integ_get
gf_levelset
gf_levelset_get
gf_levelset_set
gf_linsolve
gf_mesh
gf_mesh_get
gf_mesh_set
gf_mesh_fem
gf_mesh_fem_get
gf_mesh_fem_set
gf_mesh_im
gf_mesh_im_get
gf_mesh_im_set
gf_mesh_im_data
gf_mesh_im_data_get
gf_mesh_im_data_set
gf_mesh_levelset
gf_mesh_levelset_get
gf_mesh_levelset_set
gf_mesher_object
gf_mesher_object_get
gf_model
gf_model_get
gf_model_set
gf_poly
gf_precond
gf_precond_get
gf_slice
gf_slice_get
gf_slice_set
gf_spmat
gf_spmat_get
gf_spmat_set
gf_util
gf_workspace
GetFEM++
OO-commands
Python
Interface
Introduction
Installation
Preliminary
Python
GetFEM++
interface
Introduction
Parallel version
Memory Management
Documentation
Python
GetFEM++
organization
Examples
A step-by-step basic example
Another Laplacian with exact solution (source term)
Linear and non-linear elasticity
Avoiding the model framework
Other examples
How-tos
Import gmsh mesh
API reference
ContStruct
CvStruct
Eltm
Fem
GeoTrans
GlobalFunction
Integ
LevelSet
Mesh
MeshFem
MeshIm
MeshImData
MeshLevelSet
MesherObject
Model
Precond
Slice
Spmat
Module asm
Module compute
Module delete
Module linsolve
Module poly
Module util
SciLab Interface
Introduction
Installation
GetFEM++
organization
Functions
Objects
Draw Command reference
gf_colormap
gf_plot
gf_plot_1D
gf_plot_mesh
gf_plot_slice
Command reference
gf_asm
gf_compute
gf_cont_struct
gf_cont_struct_get
gf_cvstruct_get
gf_delete
gf_eltm
gf_fem
gf_fem_get
gf_geotrans
gf_geotrans_get
gf_global_function
gf_global_function_get
gf_integ
gf_integ_get
gf_levelset
gf_levelset_get
gf_levelset_set
gf_linsolve
gf_mesh
gf_mesh_get
gf_mesh_set
gf_mesh_fem
gf_mesh_fem_get
gf_mesh_fem_set
gf_mesh_im
gf_mesh_im_get
gf_mesh_im_set
gf_mesh_im_data
gf_mesh_im_data_get
gf_mesh_im_data_set
gf_mesh_levelset
gf_mesh_levelset_get
gf_mesh_levelset_set
gf_mesher_object
gf_mesher_object_get
gf_model
gf_model_get
gf_model_set
gf_poly
gf_precond
gf_precond_get
gf_slice
gf_slice_get
gf_slice_set
gf_spmat
gf_spmat_get
gf_spmat_set
gf_util
gf_workspace
How to install from sources on Linux
Download sources
Compiling
Configure Options
Scilab interface
Matlab interface
How to install from sources on MacOS X
Download sources
Compiling
Configure Options
Matlab interface
Scilab interface
How to install
GetFEM++
from sources on Windows
Build with the Python interface
Build with the Matlab interface
What’s New in GetFEM++
What’s New in
GetFEM++
5.3
What’s New in
GetFEM++
5.2
What’s New in
GetFEM++
5.1
What’s New in
GetFEM++
5.0
What’s New in
GetFEM++
4.3
What’s New in
GetFEM++
4.2
What’s New in
GetFEM++
4.1.1
What’s New in
GetFEM++
4.1
What’s New in
GetFEM++
4.0
What’s New in
GetFEM++
3.1
What’s New in
GetFEM++
3.0.1
What’s New in
GetFEM++
3.0
What’s New in
GetFEM++
2.0.2
What’s New in
GetFEM++
2.0.1
What’s New in
GetFEM++
2.0
What’s New in
GetFEM++
1.7
What’s New in
GetFEM++
1.6
What’s New in
GetFEM++
1.5
What’s New in
GetFEM++
1.4
What’s New in
GetFEM++
1.3
What’s New in
GetFEM++
1.2
What’s New in
GetFEM++
1.1
What’s New in
GetFEM++
1.0
Documenting
Style Guide
reStructuredText Primer
Paragraphs
Inline markup
Lists and Quotes
Source Code
Hyperlinks
Sections
Explicit Markup
Directives
Footnotes
Comments
Source encoding
Gotchas
Additional Markup Constructs
Meta-information markup
Module-specific markup
Information units
Showing code examples
Inline markup
Cross-linking markup
Paragraph-level markup
Table-of-contents markup
Index-generating markup
Grammar production displays
Substitutions
Differences to the LaTeX markup
Inline markup
Information units
Structure
Glossary
About these documents
Contributors to the GetFEM++ Documentation
Reporting Bugs in GetFEM++
Legal information
History and License
Some related links
Jean Garrigues courses (in french)
Internet Finite Element Resources
MUMPS: a MUltifrontal Massively Parallel sparse direct Solver
SuperLu: Sparse Gaussian Elimination on High Performance Computers
Some project using GetFEM++ and/or Gmm++
Examples of publications based on GetFEM++
An evaluation of Gmm++ performance
GetFEM++ Mailing Lists
GetFEM++ in action ...
Generic mesh handling
Linear elasticity
Stokes equation
Helmholtz equation
Eigenmodes of a structure (thanks to Paolo Bertolo)
Contact with friction problem (Houari Khenous)
Xfem cracks in a beam
A 3D crack, made via level-set
Large strain
Shape and topological optimization
3D planetary gears
Matlab source code for the tripod
Matlab source code for the Stokes equation example
Matlab source code for the Helmholtz equation example
Next topic
User Documentation
Download
Download GetFEM++
Main documentations
GetFEM++ User documentation
Python Interface
Matlab Interface
Scilab Interface
Gmm++
GetFEM++ project
Other resources
Screenshots
Related links
Hosted by Savannah
Quick search
Enter search terms or a module, class or function name.
Navigation
index
next
|
GetFEM++
»