File: CodeDocumentation.dox

package info (click to toggle)
mfem 4.9%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,396 kB
  • sloc: cpp: 401,979; makefile: 3,942; sh: 845; xml: 590; javascript: 99
file content (246 lines) | stat: -rw-r--r-- 19,307 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
namespace mfem {

/*! \mainpage Code Documentation
 *
 * <H3>Main mesh classes</H3>
 *
 * - Mesh
 * - NCMesh
 * - Element
 * - ElementTransformation
 *
 * <H3>Main finite element classes</H3>
 *
 * - FiniteElement
 * - FiniteElementCollection
 * - FiniteElementSpace
 * - GridFunction
 * - BilinearFormIntegrator and LinearFormIntegrator
 * - LinearForm, BilinearForm and MixedBilinearForm
 *
 * <H3>Main linear algebra classes and sources</H3>
 *
 * - Operator and BilinearForm
 * - Vector and LinearForm
 * - DenseMatrix and SparseMatrix
 * - Sparse \link sparsesmoothers.hpp smoothers\endlink and linear
 *   \link solvers.hpp solvers\endlink
 *
 * <H3>Main parallel classes</H3>
 * - ParMesh
 * - ParNCMesh
 * - ParFiniteElementSpace
 * - ParGridFunction
 * - ParBilinearForm and ParLinearForm
 * - HypreParMatrix and HypreParVector
 * - HypreSolver and other \link hypre.hpp hypre classes\endlink
 *
 * <H3>Main GPU classes</H3>
 * - Device
 * - Memory
 * - MemoryManager
 * - mfem::forall functions in forall.hpp
 *
 * <H3>Example codes</H3>
 * - <a class="el" href="ex0_8cpp_source.html">Example 0</a>: simplest example, nodal H1 FEM for the Poisson problem
 * - <a class="el" href="ex0p_8cpp_source.html">Example 0p</a>: simplest parallel example, nodal H1 FEM for the Poisson problem
 * - <a class="el" href="examples_2ex1_8cpp_source.html">Example 1</a>: nodal H1 FEM for the Poisson problem (same discretization as ex0 but with more sophisticated options)
 * - <a class="el" href="examples_2ex1p_8cpp_source.html">Example 1p</a>: parallel nodal H1 FEM for the Poisson problem (same discretization as ex0p but with more sophisticated options)
 * - <a class="el" href="ex2_8cpp_source.html">Example 2</a>: vector FEM for linear elasticity
 * - <a class="el" href="ex2p_8cpp_source.html">Example 2p</a>: parallel vector FEM for linear elasticity
 * - <a class="el" href="ex3_8cpp_source.html">Example 3</a>: Nedelec H(curl) FEM for the definite Maxwell problem
 * - <a class="el" href="ex3p_8cpp_source.html">Example 3p</a>: parallel Nedelec H(curl) FEM for the definite Maxwell problem
 * - <a class="el" href="ex4_8cpp_source.html">Example 4</a>: Raviart-Thomas H(div) FEM for the grad-div problem
 * - <a class="el" href="ex4p_8cpp_source.html">Example 4p</a>: parallel Raviart-Thomas H(div) FEM for the grad-div problem
 * - <a class="el" href="ex5_8cpp_source.html">Example 5</a>: mixed pressure-velocity FEM for the Darcy problem
 * - <a class="el" href="ex5p_8cpp_source.html">Example 5p</a>: parallel mixed pressure-velocity FEM for the Darcy problem
 * - <a class="el" href="ex6_8cpp_source.html">Example 6</a>: non-conforming adaptive mesh refinement for the Poisson problem
 * - <a class="el" href="ex6p_8cpp_source.html">Example 6p</a>: parallel non-conforming adaptive mesh refinement for the Poisson problem
 * - <a class="el" href="ex7_8cpp_source.html">Example 7</a>: screened Poisson problem on a surface (the unit sphere)
 * - <a class="el" href="ex7p_8cpp_source.html">Example 7p</a>: parallel screened Poisson problem on a surface (the unit sphere)
 * - <a class="el" href="ex8_8cpp_source.html">Example 8</a>: Discontinuous Petrov-Galerkin (DPG) for the Poisson problem
 * - <a class="el" href="ex8p_8cpp_source.html">Example 8p</a>: parallel Discontinuous Petrov-Galerkin (DPG) for the Poisson problem
 * - <a class="el" href="ex9_8cpp_source.html">Example 9</a>: Discontinuous Galerkin (DG) time-dependent advection
 * - <a class="el" href="ex9p_8cpp_source.html">Example 9p</a>: parallel Discontinuous Galerkin (DG) time-dependent advection
 * - <a class="el" href="ex10_8cpp_source.html">Example 10</a>: time-dependent implicit nonlinear elasticity
 * - <a class="el" href="ex10p_8cpp_source.html">Example 10p</a>: parallel time-dependent implicit nonlinear elasticity
 * - <a class="el" href="ex11p_8cpp_source.html">Example 11p</a>: parallel Laplace eigensolver
 * - <a class="el" href="ex12p_8cpp_source.html">Example 12p</a>: parallel linear elasticity eigensolver
 * - <a class="el" href="ex13p_8cpp_source.html">Example 13p</a>: parallel Maxwell eigensolver
 * - <a class="el" href="ex14_8cpp_source.html">Example 14</a>: Discontinuous Galerkin (DG) for the Poisson problem
 * - <a class="el" href="ex14p_8cpp_source.html">Example 14p</a>: parallel Discontinuous Galerkin (DG) for the Poisson problem
 * - <a class="el" href="ex15_8cpp_source.html">Example 15</a>: dynamic AMR for Laplace with prescribed time-dependent source
 * - <a class="el" href="ex15p_8cpp_source.html">Example 15p</a>: parallel dynamic AMR for Laplace with prescribed time-dependent source
 * - <a class="el" href="ex16_8cpp_source.html">Example 16</a>: time-dependent nonlinear heat equation
 * - <a class="el" href="ex16p_8cpp_source.html">Example 16p</a>: parallel time-dependent nonlinear heat equation
 * - <a class="el" href="ex17_8cpp_source.html">Example 17</a>: Discontinuous Galerkin (DG) for linear elasticity
 * - <a class="el" href="ex17p_8cpp_source.html">Example 17p</a>: parallel Discontinuous Galerkin (DG) for linear elasticity
 * - <a class="el" href="ex18_8cpp_source.html">Example 18</a>: Discontinuous Galerkin (DG) for the Euler equations
 * - <a class="el" href="ex18p_8cpp_source.html">Example 18p</a>: parallel Discontinuous Galerkin (DG) for the Euler equations
 * - <a class="el" href="ex19_8cpp_source.html">Example 19</a>: incompressible nonlinear elasticity
 * - <a class="el" href="ex19p_8cpp_source.html">Example 19p</a>: parallel incompressible nonlinear elasticity
 * - <a class="el" href="ex20_8cpp_source.html">Example 20</a>: symplectic ODE integration
 * - <a class="el" href="ex20p_8cpp_source.html">Example 20p</a>: parallel symplectic ODE integration
 * - <a class="el" href="ex21_8cpp_source.html">Example 21</a>: adaptive mesh refinement for linear elasticity
 * - <a class="el" href="ex21p_8cpp_source.html">Example 21p</a>: parallel adaptive mesh refinement for linear elasticity
 * - <a class="el" href="ex22_8cpp_source.html">Example 22</a>: complex-valued linear systems for damped harmonic oscillators
 * - <a class="el" href="ex22p_8cpp_source.html">Example 22p</a>: parallel complex-valued linear systems for damped harmonic oscillators
 * - <a class="el" href="ex23_8cpp_source.html">Example 23</a>: second order in time wave equation
 * - <a class="el" href="ex24_8cpp_source.html">Example 24</a>: mixed finite element spaces and interpolators
 * - <a class="el" href="ex24p_8cpp_source.html">Example 24p</a>: parallel mixed finite element spaces and interpolators
 * - <a class="el" href="ex25_8cpp_source.html">Example 25</a>: simulation of electromagnetic wave propagation using a Perfectly Matched Layer (PML)
 * - <a class="el" href="ex25p_8cpp_source.html">Example 25p</a>: parallel simulation of electromagnetic wave propagation using a Perfectly Matched Layer (PML)
 * - <a class="el" href="ex26_8cpp_source.html">Example 26</a>: multigrid preconditioner for the Poisson problem using nodal H1 FEM
 * - <a class="el" href="ex26p_8cpp_source.html">Example 26p</a>: parallel multigrid preconditioner for the Poisson problem using nodal H1 FEM
 * - <a class="el" href="ex27_8cpp_source.html">Example 27</a>: boundary conditions for the Laplace problem
 * - <a class="el" href="ex27p_8cpp_source.html">Example 27p</a>: parallel boundary conditions for the Laplace problem
 * - <a class="el" href="ex28_8cpp_source.html">Example 28</a>: sliding contact in elasticity
 * - <a class="el" href="ex28p_8cpp_source.html">Example 28p</a>: parallel sliding contact in elasticity
 * - <a class="el" href="ex29_8cpp_source.html">Example 29</a>: Laplace solve on a 3D-embedded surface
 * - <a class="el" href="ex29p_8cpp_source.html">Example 29p</a>: parallel Laplace solve on a 3D-embedded surface
 * - <a class="el" href="ex30_8cpp_source.html">Example 30</a>: mesh preprocessing to resolve problem data
 * - <a class="el" href="ex30p_8cpp_source.html">Example 30p</a>: parallel mesh preprocessing to resolve problem data
 * - <a class="el" href="ex31_8cpp_source.html">Example 31</a>: Nedelec H(curl) FEM for the definite anisotropic Maxwell problem
 * - <a class="el" href="ex31p_8cpp_source.html">Example 31p</a>: parallel Nedelec H(curl) FEM for the definite anisotropic Maxwell problem
 * - <a class="el" href="ex32p_8cpp_source.html">Example 32p</a>: parallel anisotropic Maxwell eigensolver
 * - <a class="el" href="ex33_8cpp_source.html">Example 33</a>: nodal H1 FEM for the fractional Laplacian problem
 * - <a class="el" href="ex33p_8cpp_source.html">Example 33p</a>: parallel nodal H1 FEM for the fractional Laplacian problem
 * - <a class="el" href="ex34_8cpp_source.html">Example 34</a>: multi-domain magnetostatics
 * - <a class="el" href="ex34p_8cpp_source.html">Example 34p</a>: parallel multi-domain magnetostatics
 * - <a class="el" href="ex35p_8cpp_source.html">Example 35p</a>: parallel multi-domain damped harmonic oscillators
 * - <a class="el" href="ex36_8cpp_source.html">Example 36</a>: Proximal Galerkin FEM for the obstacle problem
 * - <a class="el" href="ex36p_8cpp_source.html">Example 36p</a>: parallel Proximal Galerkin FEM for the obstacle problem
 * - <a class="el" href="ex37_8cpp_source.html">Example 37</a>: topology optimization
 * - <a class="el" href="ex37p_8cpp_source.html">Example 37p</a>: parallel topology optimization
 * - <a class="el" href="ex38_8cpp_source.html">Example 38</a>: cut-surface and cut-volume integration
 * - <a class="el" href="ex39_8cpp_source.html">Example 39</a>: named mesh attributes
 * - <a class="el" href="ex39p_8cpp_source.html">Example 39p</a>: parallel named mesh attributes
 * - <a class="el" href="ex40_8cpp_source.html">Example 40</a>: eikonal equation
 * - <a class="el" href="ex40p_8cpp_source.html">Example 40p</a>: parallel eikonal equation
 *
 * <H4>AmgX Examples</H4>
 * - Variants of Examples
 *   <a class="el" href="examples_2amgx_2ex1_8cpp_source.html">1</a> and
 *   <a class="el" href="examples_2amgx_2ex1p_8cpp_source.html">1p</a>,
 *   demonstrating the use of MFEM's \link amgxsolver.hpp AmgX integration\endlink.
 *
 * <H4>Caliper Examples</H4>
 * - Variants of Example
 *   <a class="el" href="examples_2caliper_2ex1_8cpp_source.html">1</a> and
 *   <a class="el" href="examples_2caliper_2ex1p_8cpp_source.html">1p</a>,
 *   demonstrating the use of MFEM's \link annotation.hpp Ginkgo integration\endlink.
 *
 * <H4>Ginkgo Examples</H4>
 * - Variants of Example
 *   <a class="el" href="examples_2ginkgo_2ex1_8cpp_source.html">1</a>,
 *   demonstrating the use of MFEM's \link ginkgo.hpp Ginkgo integration\endlink.
 *
 * <H4>HiOp Examples</H4>
 * - Variants of Examples
 *   <a class="el" href="hiop_2ex9_8cpp_source.html">9</a> and
 *   <a class="el" href="hiop_2ex9p_8cpp_source.html">9p</a>,
 *   demonstrating the use of MFEM's \link hiop.hpp HiOp integration\endlink.
 *
 * <H4>PETSc Examples</H4>
 * - Variants of Examples
 *   <a class="el" href="examples_2petsc_2ex1p_8cpp_source.html">1p</a>,
 *   <a class="el" href="petsc_2ex2p_8cpp_source.html">2p</a>,
 *   <a class="el" href="petsc_2ex3p_8cpp_source.html">3p</a>,
 *   <a class="el" href="petsc_2ex4p_8cpp_source.html">4p</a>,
 *   <a class="el" href="petsc_2ex5p_8cpp_source.html">5p</a>,
 *   <a class="el" href="petsc_2ex6p_8cpp_source.html">6p</a>,
 *   <a class="el" href="petsc_2ex9p_8cpp_source.html">9p</a>,
 *   and
 *   <a class="el" href="petsc_2ex10p_8cpp_source.html">10p</a>,
 *   demonstrating the use of MFEM's \link petsc.hpp PETSc integration\endlink.
 *
 * <H4>PUMI Examples</H4>
 * - Variants of Examples
 *   <a class="el" href="examples_2pumi_2ex1_8cpp_source.html">1</a>,
 *   <a class="el" href="examples_2pumi_2ex1p_8cpp_source.html">1p</a>,
 *   <a class="el" href="pumi_2ex2_8cpp_source.html">2</a>,
 *   and
 *   <a class="el" href="pumi_2ex6p_8cpp_source.html">6p</a>,
 *   demonstrating the use of MFEM's \link pumi.hpp PUMI integration\endlink.
 *
 * <H4>SUNDIALS Examples</H4>
 * - Variants of Examples
 *   <a class="el" href="sundials_2ex9_8cpp_source.html">9</a>,
 *   <a class="el" href="sundials_2ex9p_8cpp_source.html">9p</a>,
 *   <a class="el" href="sundials_2ex10_8cpp_source.html">10</a>,
 *   <a class="el" href="sundials_2ex10p_8cpp_source.html">10p</a>,
 *   <a class="el" href="sundials_2ex16_8cpp_source.html">16</a>,
 *   and
 *   <a class="el" href="sundials_2ex16p_8cpp_source.html">16p</a>,
 *   demonstrating the use of MFEM's \link sundials.hpp SUNDIALS integration\endlink.
 * - CVODES adjoint miniapps:
 *   <a class="el" href="cvsRoberts__ASAi__dns_8cpp_source.html">serial ODE system</a>,
 *   <a class="el" href="adjoint__advection__diffusion_8cpp_source.html">parallel advection-diffusion</a>.
 *
 * <H4>SuperLU Examples</H4>
 * - Variants of Example
 *   <a class="el" href="examples_2superlu_2ex1p_8cpp_source.html">1p</a>,
 *   demonstrating the use of MFEM's \link superlu.hpp SuperLU integration\endlink.
 *
 * <H4>NURBS Examples</H4>
 * - Variants of Examples
 *  <a class="el" href="nurbs__ex1_8cpp_source.html">1</a>,
 *  <a class="el" href="nurbs__ex1p_8cpp_source.html">1p</a>,
 *  <a class="el" href="nurbs__ex3_8cpp_source.html">3</a>,
 *  <a class="el" href="nurbs__ex5_8cpp_source.html">5</a>,
 *  <a class="el" href="nurbs__ex11p_8cpp_source.html">11p</a>, and
 *  <a class="el" href="nurbs__ex24_8cpp_source.html">24</a>,
 *   demonstrating howto perform NURBS-based Isogeometric Analysis.
 * - Variant of Example <a class="el" href="nurbs__patch__ex1_8cpp_source.html">1</a>: demonstrates the use of patch integration
 * - <a class="el" href="nurbs__solenoidal_8cpp_source.html">NURBS Divergence-free</a>: solve a solenoidal vector projection with NURBS-based H(div) elements
 * - <a class="el" href="nurbs__curveint_8cpp_source.html">NURBS Interpolation</a>: NURBS interpolation of given geometry
 * - <a class="el" href="nurbs__naca__cmesh_8cpp_source.html">NURBS NACA Mesher</a>: generate NURBS based mesh around a NACA foil
 * - <a class="el" href="nurbs__printfunc_8cpp_source.html">NURBS Printer</a>: print the NURBS-basis
 *
 * <H3>Miniapps</H3>
 * - <a class="el" href="volta_8cpp_source.html">Volta</a>: simple electrostatics simulation code
 * - <a class="el" href="tesla_8cpp_source.html">Tesla</a>: simple magnetostatics simulation code
 * - <a class="el" href="maxwell_8cpp_source.html">Maxwell</a>: simple transient full-wave electromagnetics simulation code
 * - <a class="el" href="joule_8cpp_source.html">Joule</a>: transient magnetics and Joule heating miniapp
 * - <a class="el" href="lorentz_8cpp_source.html">Lorentz</a>: simple particle tracking code based on the Lorentz force
 * - <a class="el" href="classmfem_1_1navier_1_1NavierSolver.html">Navier</a>: solve the transient incompressible Navier-Stokes equations
 * - <a class="el" href="mobius-strip_8cpp_source.html">Mobius Strip</a>: generate various Mobius strip-like meshes
 * - <a class="el" href="klein-bottle_8cpp_source.html">Klein Bottle</a>: generate three types of Klein bottle surfaces
 * - <a class="el" href="toroid_8cpp_source.html">Toroid</a>: generate simple toroidal meshes
 * - <a class="el" href="twist_8cpp_source.html">Twist</a>: generate simple periodic meshes
 * - <a class="el" href="minimal-surface_8cpp_source.html">Minimal Surface</a>: compute minimal surfaces, <a class="el" href="minimal-surface_8cpp_source.html">serial</a> and <a class="el" href="pminimal-surface_8cpp_source.html">parallel</a> versions
 * - <a class="el" href="polar-nc_8cpp_source.html">Polar NC</a>: generate polar non-conforming meshes
 * - <a class="el" href="shaper_8cpp_source.html">Shaper</a>: resolve material interfaces by mesh refinement
 * - <a class="el" href="extruder_8cpp_source.html">Extruder</a>: extrude a low-dimensional mesh into a higher dimension
 * - <a class="el" href="mesh-explorer_8cpp_source.html">Mesh Explorer</a>: visualize and manipulate meshes
 * - <a class="el" href="mesh-optimizer_8cpp_source.html">Mesh Optimizer</a>: optimize high-order meshes, <a class="el" href="mesh-optimizer_8cpp_source.html">serial</a> and <a class="el" href="pmesh-optimizer_8cpp_source.html">parallel</a> versions
 * - <a class="el" href="mesh-quality_8cpp_source.html">Mesh Quality</a>: visualize and check mesh quality
 * - <a class="el" href="trimmer_8cpp_source.html">Trimmer</a>: trim elements from existing meshes
 * - <a class="el" href="display-basis_8cpp_source.html">Display Basis</a>: visualize finite element basis functions
 * - <a class="el" href="get-values_8cpp_source.html">Get Values</a>: extract field values via DataCollection classes
 * - <a class="el" href="load-dc_8cpp_source.html">Load DC</a>: visualize fields saved via DataCollection classes
 * - <a class="el" href="convert-dc_8cpp_source.html">Convert DC</a>: convert between different DataCollection formats
 * - <a class="el" href="lor-transfer_8cpp_source.html">LOR Transfer</a>: map functions between high-order and low-order refined spaces
 * - <a class="el" href="findpts_8cpp_source.html">Find Points</a>: evaluate grid function in physical space, <a class="el" href="findpts_8cpp_source.html">serial</a> and <a class="el" href="pfindpts_8cpp_source.html">parallel</a> versions
 * - <a class="el" href="field-diff_8cpp_source.html">Field Diff</a>: compare grid functions on different meshes
 * - <a class="el" href="field-interp_8cpp_source.html">Field Interp</a>: transfer a grid functions between meshes
 * - <a class="el" href="distance_8cpp_source.html">Distance</a>: finite element distance function solver
 * - <a class="el" href="diffusion_8cpp_source.html">Shifted Diffusion</a>: shifted boundary diffusion solver
 * - <a class="el" href="extrapolate_8cpp_source.html">Extrapolation</a>: PDE-based extrapolation of finite element functions
 * - <a class="el" href="block-solvers_8cpp_source.html">Block Solvers</a>: comparison of saddle point system solvers
 * - <a class="el" href="parheat_8cpp_source.html">Optimization gradients</a>: Gradients of PDE-constrained function
 * - <a class="el" href="par__example_8cpp_source.html">Parallel AD</a>: Parallel p-Laplacian example
 * - <a class="el" href="seq__example_8cpp_source.html">Serial AD</a>: Serial p-Laplacian example
 * - <a class="el" href="miniapps_2performance_2ex1_8cpp_source.html">HPC Example 1</a>: high-performance nodal H1 FEM for the Poisson problem
 * - <a class="el" href="miniapps_2performance_2ex1p_8cpp_source.html">HPC Example 1p</a>: high-performance parallel nodal H1 FEM for the Poisson problem
 * - <a class="el" href="generate__random__field_8cpp_source.html">SPDE Solvers</a>: SPDE solver random field generation
 * - <a class="el" href="contact-patch-test_8cpp_source.html">Contact</a>: mortar contact patch test for elasticity
 * - <a class="el" href="multidomain_8cpp_source.html">Multidomain miniapp</a>: Multidomain and Submesh demonstration miniapp
 * - <a class="el" href="pdiffusion_8cpp_source.html">DPG Diffusion example</a>: DPG formulation for the diffusion problem
 * - <a class="el" href="pmaxwell_8cpp_source.html">DPG Maxwell example</a>: DPG formulation for the indefinite Maxwell problem
 * - <a class="el" href="lor__elast_8cpp_source.html">LOR Elasticity</a>: solve linear elasticity with LOR preconditioning on GPUs
 *
 * See also the <a class="el" href="https://mfem.org/examples/">examples documentation</a> online.
 */

}