GetDP Reference Manual
GetDP Reference Manual
GetDP Reference Manual
Patrick Dular
Christophe Geuzaine
Institut dElectricit
e Montefiore
Sart Tilman Campus, Building B28
B-4000 Li`ege
BELGIUM
Permission is granted to make and distribute verbatim copies of this manual provided the
copyright notice and this permission notice are preserved on all copies.
Short Contents
Obtaining GetDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Copying conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 How to read this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Running GetDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6 Types for objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7 Short examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8 Complete examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
A File formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
B Gmsh examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
C Compiling the source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
D Frequently asked questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
E Tips and tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
F Version history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
G Copyright and credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
H License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Concept index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Metasyntactic variable index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Syntax index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
iii
Table of Contents
Obtaining GetDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Copying conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1
1.2
1.3
Running GetDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1
4.2
4.3
4.4
4.5
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Includes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expressions definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.1 Operator types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Evaluation order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7 Current values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8 Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 Loops and conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
15
15
16
19
19
20
21
21
22
22
23
25
Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1 Group: defining topological entities . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Function: defining global and piecewise expressions . . . . . . . . . . .
5.3 Constraint: specifying constraints on function spaces and
formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 FunctionSpace: building function spaces . . . . . . . . . . . . . . . . . . . . . .
5.5 Jacobian: defining jacobian methods . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Integration: defining integration methods . . . . . . . . . . . . . . . . . . . .
5.7 Formulation: building equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8 Resolution: solving systems of equations . . . . . . . . . . . . . . . . . . . . .
5.9 PostProcessing: exploiting computational results . . . . . . . . . . . . .
5.10 PostOperation: exporting results . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
28
29
30
32
33
34
35
37
38
iv
GetDP 2.4
41
42
42
44
45
45
47
48
50
51
53
54
54
55
61
61
Short examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.1
7.2
7.3
7.4
7.5
67
67
67
69
69
70
70
70
71
72
72
73
74
74
75
75
75
76
76
77
77
77
77
78
v
7.9.4
Complete examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
8.1
8.2
8.3
Electrostatic problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Magnetostatic problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Magnetodynamic problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Appendix A
103
103
104
104
Appendix B
Appendix C
Appendix D
D.1
D.2
D.3
Appendix E
Appendix F
Appendix G
Appendix H
License . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Obtaining GetDP
Obtaining GetDP
The source code and various pre-compiled versions of GetDP (for Windows, Linux and
MacOS) can be downloaded from http://geuz.org/getdp.
If you use GetDP, we would appreciate that you mention it in your work. References and
the latest news about GetDP are always available on http://geuz.org/getdp.
Copying conditions
Copying conditions
GetDP is free software; this means that everyone is free to use it and to redistribute it on
a free basis. GetDP is not in the public domain; it is copyrighted and there are restrictions
on its distribution, but these restrictions are designed to permit everything that a good
cooperating citizen would want to do. What is not allowed is to try to prevent others from
further sharing any version of GetDP that they might get from you.
Specifically, we want to make sure that you have the right to give away copies of GetDP,
that you receive source code or else can get it if you want it, that you can change GetDP
or use pieces of GetDP in new free programs, and that you know you can do these things.
To make sure that everyone has such rights, we have to forbid you to deprive anyone else of
these rights. For example, if you distribute copies of GetDP, you must give the recipients
all the rights that you have. You must make sure that they, too, receive or can get the
source code. And you must tell them their rights.
Also, for our own protection, we must make certain that everyone finds out that there is no
warranty for GetDP. If GetDP is modified by someone else and passed on, we want their
recipients to know that what they have is not what we distributed, so that any problems
introduced by others will not reflect on our reputation.
The precise conditions of the license for GetDP are found in the General Public
License that accompanies the source code (see Appendix H [License], page 123).
Further information about this license is available from the GNU Project webpage
http://www.gnu.org/copyleft/gpl-faq.html. Detailed copyright information can be
found in Appendix G [Copyright and credits], page 121.
If you want to integrate parts of GetDP into a closed-source software, or want to sell a
modified closed-source version of GetDP, you will need to obtain a different license. Please
contact us directly for more information.
Chapter 1: Overview
1 Overview
GetDP (a General environment for the treatment of Discrete Problems) is a scientific
software environment for the numerical solution of integro-differential equations, open to
the coupling of physical problems (electromagnetic, thermal, etc.) as well as of numerical
methods (finite element method, integral methods, etc.). It can deal with such problems of
various dimensions (1D, 2D or 3D) and time states (static, transient or harmonic).
The main feature of GetDP is the closeness between its internal structure (written in C), the
organization of data defining discrete problems (written by the user in ASCII data files) and
the symbolic mathematical expressions of these problems. Its aim is to be welcoming and of
easy use for both development and application levels: it consists of a working environment in
which the definition of any problem makes use of a limited number of objects, which makes
the environment structured and concise. It therefore gives researchers advanced developing
tools and a large freedom in adding new functionalities.
The modeling tools provided by GetDP can be tackled at various levels of complexity: this
opens the software to a wide range of activities, such as research, collaboration, education,
training and industrial studies.
GetDP 2.4
Group
Function
Constraint
FunctionSpace
Jacobian
Integration
Formulation
Resolution
PostProcessing
PostOperation
--Group
Group, Function, (Resolution)
Group, Constraint, (Formulation), (Resolution)
Group
--Group, Function, (Constraint), FunctionSpace,
Jacobian, Integration
Function, Formulation
Group, Function, Jacobian, Integration,
Formulation, Resolution
Group, PostProcessing
The gathering of all these objects constitutes the problem definition structure, which is a
copy of the formal mathematical formulation of the problem. Reading the first column of
the table from top to bottom pictures the working philosophy and the linking of operations
peculiar to GetDP, from group definition to results visualization. The decomposition highlighted in the figure points out the separation between the objects defining the method of
resolution, which may be isolated in a black box (bottom) and those defining the data
peculiar to a given problem (top).
The computational tools which are in the center of a problem definition structure are formulations (Formulation) and function spaces (FunctionSpace). Formulations define systems
of equations that have to be built and solved, while function spaces contain all the quantities,
i.e., functions, fields of vectors or covectors, known or not, involved in formulations.
Each object of a problem definition structure must be defined before being referred to by
others. A linking which always respects this property is the following: it first contains the
objects defining particular data of a problem, such as geometry, physical characteristics
and boundary conditions (i.e., Group, Function and Constraint) followed by those defining a resolution method, such as unknowns, equations and related objects (i.e., Jacobian,
Integration, FunctionSpace, Formulation, Resolution and PostProcessing). The processing cycle ends with the presentation of the results (i.e., lists of numbers in various
formats), defined in PostOperation fields. This decomposition points out the possibility
of building black boxes, containing objects of the second group, adapted to treatment of
general classes of problems that share the same resolution methods.
Chapter 1: Overview
Geometrical models
one-dimensional models (1D)
two-dimensional models (2D), plane and axisymmetric
three-dimensional models (3D)
Time states
static states
sinusoidal and harmonic states
transient states
eigenvalue problems
These methods have been successfully applied to build coupled physical models involving
electromagnetic phenomena (magnetostatics, magnetodynamics, electrostatics, electrokinetics, electrodynamics, wave propagation, lumped electric circuits), acoustic phenomena,
thermal phenomena and mechanical phenomena (elasticity, rigid body movement).
As can be guessed from the preceding list, GetDP has been initially developed in the field
of computational electromagnetics, which fully uses all the offered coupling features. We
believe that this does not interfere with the expected generality of the software because a
particular modeling forms a problem definition structure which is totally external to the
software: GetDP offers computational tools; the user freely applies them to define and solve
his problem.
Nevertheless, specific numerical tools will always need to be implemented to solve specific
problems in areas other than those mentionned above. If you think the general phisosophy
of GetDP is right for you and your problem, but you discover that GetDP lacks the tools
necessary to handle it, let us know: we would love to discuss it with you. For example,
at the time of this writing, many areas of GetDP would need to be improved to make
GetDP as useful for computational mechanics or computational fluid dynamics as it is for
computational electromagnetics... So if you have the skills and some free time, feel free to
join the project: we gladly accept all code contributions!
11
3 Running GetDP
GetDP has no graphical interface1 . It is a command-line driven program that reads a
problem definition file once at the beginning of the processing. This problem definition file
is a regular ASCII text file (see Section 1.1 [Numerical tools as objects], page 5), hence
created with whatever text editor you like.
If you just type the program name at your shell prompt (without any argument), you will
get a short help on how to run GetDP. All GetDP calls look like
getdp filename options
where filename is the ASCII file containing the problem definition, i.e., the structures this
users guide has taught you to create. This file can include other files (see Section 4.2
[Includes], page 15), so that only one problem definition file should always be given on
the command line. The input files containing the problem definition structure are usually
given the .pro extension (if so, there is no need to specify the extension on the command
line). The name of this file (without the extension) is used as a basis for the creation of
intermediate files during the pre-processing and the processing stages.
The options are a combination of the following commands (in any order):
-pre
resolution-id
Performs the pre-processing associated with the resolution resolution-id. In the
pre-processing stage, GetDP creates the geometric database (from the mesh
file), identifies the degrees of freedom (the unknowns) of the problem and sets
up the constraints on these degrees of freedom. The pre-processing creates a file
with a .pre extension. If resolution-id is omitted, the list of available choices
is displayed.
-cal
Performs the processing. This requires that a pre-processing has been performed previously, or that a -pre option is given on the same command line.
The performed resolution is the one given as an argument to the -pre option. In the processing stage, GetDP executes all the commands given in the
Operation field of the selected Resolution object (such as matrix assemblies,
system resolutions, . . . ).
-pos
post-operation-id . . .
Performs the operations in the PostOperation(s) selected by the postoperation-id(s). This requires that a processing has been performed previously,
or that a -cal option is given on the same command line. If post-operation-id
is omitted, the list of available choices is displayed.
-msh
1
filename
If you are looking for a graphical front-end to GetDP, you may consider using Gmsh (available at
http://geuz.org/gmsh). Gmsh permits to construct geometries, generate meshes, launch computations
and visualize results directly from within a user-friendly graphical interface. The file formats used by Gmsh
for mesh generation and post-processing are the default file formats accepted by GetDP (see Section A.1
[Input file format], page 103, and Section 6.10 [Types for PostOperation], page 61).
12
GetDP 2.4
Reads the mesh (in .msh format) from filename (see Appendix A [File formats],
page 103) rather than from the default problem file name (with the .msh
extension appended).
-gmshread
filename . . .
Read gmsh data files (same as GmshRead in Resolution operations). Allows
to use such datasets outside resolutions (e.g. in pre-processing).
-split
Saves processing results in separate files (one for each timestep).
-res
filename . . .
Loads processing results from file(s).
-name
string
Uses string as the default generic file name for input or output of mesh, preprocessing and processing files.
-restart
Restarts processing of a time stepping resolution interrupted before being complete.
-solve
resolution-id
Same as -pre resolution-id -cal.
-solver
filename
Specifies a solver option file (whose format varies depending on the linear algebra toolkit used).
-slepc
Uses SLEPc instead of Arpack as eigensolver.
-adapt
file
Reads adaptation constraints from file.
-order
real
Specifies the maximum interpolation order.
-cache
Caches network computations to disk.
-bin
Selects binary format for output files.
-v2
Creates mesh-based Gmsh output files when possible.
-check
Lets you check the problem structure interactively.
-v
-verbose
13
integer
Sets the verbosity level. A value of 0 means that no information will be displayed
during the processing.
-p
-progress
integer
Sets the progress update rate. This controls the refreshment rate of the counter
indicating the progress of the current computation (in %).
-onelab
name <address>
Communicates with OneLab (file or server address)
-setnumber
name value
Sets constant number name to value
-setstring
name value
Sets constant string name to value
-info
Displays the version information.
-version
Displays the version number.
-help
Displays a message listing basic usage and available options.
Chapter 4: Expressions
15
4 Expressions
This chapter and the next two describe in a rather formal way all the commands that can
be used in the ASCII text input files. If you are just beginning to use GetDP, or just want
to see what GetDP is all about, you should skip this chapter and the next two for now, have
a quick look at Chapter 3 [Running GetDP], page 11, and run the demo problems bundled
in the distribution on your computer. You should then open the .pro files in a text editor
and compare their structure with the examples given in Chapter 7 [Short examples], page 67
and Chapter 8 [Complete examples], page 83. Once you have a general idea of how the files
are organized, you might want to come back here to learn more about the specific syntax
of all the objects, and all the available options.
4.1 Comments
Both C and C++ style comments are supported and can be used in the input data files to
comment selected text regions:
1. the text region comprised between /* and */ pairs is ignored;
2. the rest of a line after a double slash // is ignored.
Comments cannot be used inside double quotes or inside GetDP keywords.
4.2 Includes
An input data file can be included in another input data file by placing one of the following
commands (expression-char represents a file name) on a separate line, outside the GetDP
objects. Any text placed after an include command on the same line is ignored.
Include expression-char
#include expression-char
See Section 4.4 [Constants], page 16, for the definition of the character expression expressionchar.
16
GetDP 2.4
current-value |
register-value-set |
register-value-get |
operator-unary expression |
expression operator-binary expression |
expression operator-ternary-left expression operator-ternary-right expression |
built-in-function-id [ < expression-list > ] < { expression-cst-list } > |
function-id [ < expression-list > ] |
< Real | Complex > [ expression ] |
Dt [ expression ] |
AtAnteriorTimeStep [ expression, integer ] |
Order [ quantity ] |
Trace [ expression, group-id ] |
expression ##integer
The following sections introduce the quantities that can appear in expressions, i.e., constant
terminals (integer, real) and constant expression identifiers (constant-id, expression-cstlist), discretized fields (quantity), arguments (argument), current values (current-value),
register values (register-value-set, register-value-get), operators (operator-unary, operatorbinary, operator-ternary-left, operator-ternary-right) and built-in or user-defined functions
(built-in-function-id, function-id). The last seven cases in this definition permit to cast
an expression as real or complex, get the time derivative or evaluate an expression at an
anterior time step, retrieve the interpolation order of a discretized quantity, evaluate the
trace of an expression, and print the value of an expression for debugging purposes.
List of expressions are defined as:
expression-list :
expression <,...>
4.4 Constants
The three constant types used in GetDP are integer, real and string. These types have
the same meaning and syntax as in the C or C++ programming languages. Besides general
expressions (expression), purely constant expressions, denoted by the metasyntactic variable
expression-cst, are also used:
expression-cst :
( expression-cst ) |
integer |
real |
constant-id |
operator-unary expression-cst |
expression-cst operator-binary expression-cst |
expression-cst operator-ternary-left expression-cst operator-ternaryright
expression-cst |
math-function-id [ < expression-cst-list > ] |
#constant-id () |
Chapter 4: Expressions
17
constant-id (expression-cst )
List of constant expressions are defined as:
expression-cst-list :
expression-cst-list-item <,...>
with
expression-cst-list-item :
expression-cst |
expression-cst : expression-cst |
expression-cst : expression-cst : expression-cst |
constant-id () |
constant-id ( { expression-cst-list } ) |
List[ constant-id ] |
ListAlt[ constant-id, constant-id ] |
LinSpace[ expression-cst, expression-cst, expression-cst ] |
LogSpace[ expression-cst, expression-cst, expression-cst ] |
- expression-cst-list-item |
expression-cst * expression-cst-list-item |
expression-cst-list-item * expression-cst |
expression-cst / expression-cst-list-item |
expression-cst-list-item / expression-cst |
expression-cst-list-item ^ expression-cst |
expression-cst-list-item + expression-cst-list-item |
expression-cst-list-item - expression-cst-list-item |
expression-cst-list-item * expression-cst-list-item |
expression-cst-list-item / expression-cst-list-item
The second case in this last definition permits to create a list containing the range of
numbers comprised between the two expression-cst, with a unit incrementation step. The
third case also permits to create a list containing the range of numbers comprised between
the two expression-cst, but with a positive or negative incrementation step equal to the third
expression-cst. The fourth and fifth cases permit to reference constant identifiers (constantids) of lists of constants and constant identifiers of sublists of constants (see below for the
definition of constant identifiers) . The sixth case is a synonym for the fourth. The seventh
case permits to create alternate lists: the arguments of ListAlt must be constant-ids of
lists of constants of the same dimension. The result is an alternate list of these constants:
first constant of argument 1, first constant of argument 2, second constant of argument 1,
etc. These kinds of lists of constants are for example often used for function parameters
(see Section 4.6 [Functions], page 21). The next two cases permit to create linear and
logarithmic lists of numbers, respectively. The remaining cases permit to apply arithmetic
operators item-wise in lists.
Contrary to a general expression which is evaluated at runtime (thanks to an internal stack
mechanism), an expression-cst is completely evaluated during the syntactic analysis of the
problem (when GetDP reads the .pro file). The definition of such constants or lists of
constants with identifiers can be made outside or inside any GetDP object. The syntax for
the definition of constants is:
affectation :
18
GetDP 2.4
Chapter 4: Expressions
19
4.5 Operators
4.5.1 Operator types
The operators in GetDP are similar to the corresponding operators in the C or C++ programming languages.
operator-unary:
-
Unary minus.
Logical not.
operator-binary:
^
/\
20
GetDP 2.4
Division.
Modulo. The evaluation of the second argument must result in a scalar value.
Addition.
Subtraction.
==
Equality.
!=
Inequality.
>
>=
<
<=
Less or equality. The evaluation of both arguments must result in scalar values.
&&
Logical and. The evaluation of both arguments must result in scalar values.
||
Logical or. The evaluation of both arguments must result in floating point
values. Warning: the logical or always (unlike in C or C++) implies the evaluation of both arguments. That is, the second operand of || is evaluated even
if the first one is true.
&
Binary and.
Binary or.
operator-ternary-left:
?
operator-ternary-right:
:
The only ternary operator, formed by operator-ternary-left and operatorternary-right is defined as in the C or C++ programming languages. The
ternary operator first evaluates its first argument (the expression-cst located
before the ?), which must result in a scalar value. If it is true (non-zero)
the second argument (located between ? and :) is evaluated and returned;
otherwise the third argument (located after :) is evaluated and returned.
Chapter 4: Expressions
21
4.6 Functions
Two types of functions coexist in GetDP: user-defined functions (function-id, see Section 5.2
[Function], page 28) and built-in functions (built-in-function-id, defined in this section).
Both types of functions are always followed by a pair of brackets [] that can possibly contain
arguments (see Section 4.8 [Arguments], page 22). This makes it simple to distinguish a
function-id or a built-in-function-id from a constant-id. As shown below, built-in functions
might also have parameters, given between braces {}, and which are completely evaluated
during the analysis of the syntax (since they are of expression-cst-list type):
built-in-function-id [ < expression-list > ] < { expression-cst-list } >
with
built-in-function-id :
math-function-id |
extended-math-function-id |
green-function-id |
type-function-id |
coord-function-id |
misc-function-id
Notes:
1. All possible values for built-in-function-id are listed in Section 6.2 [Types for Function],
page 42.
2. Classical mathematical functions (see Section 6.2.1 [Math functions], page 42) are the
only functions allowed in a constant definition (see the definition of expression-cst in
Section 4.4 [Constants], page 16).
Value of the current time. This value is set to zero for non time dependent
analyses.
$DTime
$Theta
$TimeStep
Number of the current time step in a time stepping algorithm.
22
GetDP 2.4
$Breakpoint
In case of a breakpoint hit in TimeLoopAdaptive it is the number of the current
breakpoint. In the other case when $Time corresponds not to a breakpoint the
value is -1.
$Iteration
Number of the current iteration in a nonlinear loop.
$EigenvalueReal
Real part of the current eigenvalue.
$EigenvalueImag
Imaginary part of the current eigenvalue.
$X, $XS
$Y, $YS
$Z, $ZS
$A, $B, $C
Value of the current parametric coordinates used in the parametric OnGrid
PostOperation (see Section 6.10 [Types for PostOperation], page 61).
Note:
1. The current X, Y and Z coordinates refer to the physical world coordinates, i.e.,
coordinates in which the mesh is expressed.
4.8 Arguments
Function arguments can be used in expressions and have the following syntax (integer
indicates the position of the argument in the expression-list of the function, starting from
1):
argument :
$integer
See Section 5.2 [Function], page 28, and Section 7.3 [Function examples], page 67, for more
details.
4.9 Registers
In many situations, identical parts of expressions are used more than once. If this is not
a problem with constant expressions (since expression-csts are evaluated only once during
the analysis of the problem definition structure, cf. Section 4.4 [Constants], page 16), it
may introduce some important overhead while evaluating complex expressions (which are
evaluated at runtime, thanks to an internal stack mechanism). In order to circumvent this
problem, the evaluation result of any part of an expression can be saved in a register: a
memory location where this partial result will be accessible without any costly reevaluation
of the partial expression.
Registers have the following syntax:
register-value-set :
expression #expression-cst
Chapter 4: Expressions
23
register-value-get :
#expression-cst
Thus, to store any part of an expression in the register 5, one should add #5 directly after
the expression. To reuse the value stored in this register, one simply uses #5 instead of the
expression it should replace.
See Section 7.3 [Function examples], page 67, for an example.
4.10 Fields
A discretized quantity (defined in a function space, cf. Section 5.4 [FunctionSpace],
page 30) is represented between braces {}, and can only appear in well-defined expressions
in Formulation (see Section 5.7 [Formulation], page 34) and PostProcessing (see
Section 5.9 [PostProcessing], page 37) objects:
quantity :
< quantity-dof > { < quantity-operator > quantity-id } |
{ < quantity-operator > quantity-id } [ expression-cst-list ]
with
quantity-id :
string |
string ~ { expression-cst }
and
quantity-dof :
Dof
BF
Indicates that only a basis function will be used (only valid with basis functions
associated with regions).
24
GetDP 2.4
quantity-operator:
d
Grad
Curl
Rot
Div
D1
Applies the operator specified in the first argument of dFunction { basisfunction-type, basis-function-type } (see Section 5.4 [FunctionSpace],
page 30). This is currently only used for nodal-interpolated vector fields
(interpolated with BF_Node_X, BF_Node_Y, BF_Node_Z)
When the first basis-function-type in dFunction is set to BF_NodeX_D1 for
component X, BF_NodeY_D1 for component Y and BF_NodeZ_D1 for component
Z, then D1 applied to a vector [u x, u y, u z] gives:
ux uy uz
,
,
x y z
Note that in this case specifying explicitely dFunction is not necessary, as
BF_NodeX_D1, BF_NodeY_D1 and BF_NodeZ_D1 are assigned by default as the
D1 derivatives of BF_NodeX, BF_NodeY and BF_NodeZ. This also holds for
BF_GroupOfNodes_X, BF_GroupOfNodes_Y and BF_GroupOfNodes_Z.
When the first basis-function-type in dFunction is set to BF_NodeX_D12 for
component X and BF_NodeY_D12 for component Y, then D1 applied to a vector
[u x, u y] gives:
ux uy uy
ux
,
,
+
x y x
y
D2
Applies the operator specified in the second argument of dFunction { basisfunction-type, basis-function-type } (see Section 5.4 [FunctionSpace],
page 30). This is currently only used for nodal-interpolated vector fields
(interpolated with BF_Node_X, BF_Node_Y, BF_Node_Z)
More specifically, when the second basis-function-type is to BF_NodeX_D2 for
component X, BF_NodeY_D2 for component Y and BF_NodeZ_D2 for component
Z, then D2 applied to a vector [u x, u y, u z] gives:
uy
ux uz
uy ux uz
+
,
+
,
+
x
y y
z z
x
Note that in this case specifying explicitely dFunction is not necessary, as
BF_NodeX_D2, BF_NodeY_D2 and BF_NodeZ_D2 are assigned by default as the
D2 derivatives of BF_NodeX, BF_NodeY and BF_NodeZ. This also holds for
BF_GroupOfNodes_X, BF_GroupOfNodes_Y and BF_GroupOfNodes_Z.
Notes:
1. While the operators Grad, Curl and Div can be applied to 0, 1 and 2-forms respectively,
the exterior derivative operator d is usually preferred with such fields.
2. The second case permits to evaluate a discretized quantity at a certain position X, Y,
Z (when expression-cst-list contains three items) or at a specific time, N time steps ago
(when expression-cst-list contains a single item).
Chapter 4: Expressions
25
If ( expression-cst )
The body enclosed between If ( expression-cst ) and the matching Endif
is evaluated if expression-cst is non-zero.
EndIf
Loops and conditionals can be used in any of the following objects: Group, Function,
Constraint (as well as in a contraint-case), FunctionSpace, Formulation (as well as in the
quantity and equation defintions), Resolution (as well as resolution-term, system defintion
and operations), PostProcessing (in the definition of the PostQuantities) and PostOperation
(as well as in the operation list).
Chapter 5: Objects
27
5 Objects
This chapter presents the formal definition of the ten GetDP objects mentioned in Chapter 1
[Overview], page 5. To be concise, all the possible parameters for these objects are not given
here (cf. the etc syntactic rule defined in Section 2.1 [Syntactic rules], page 9). Please refer
to Chapter 6 [Types for objects], page 41, for the list of all available options.
28
GetDP 2.4
group-def :
group-type [ group-list <, group-sub-type group-list > ] |
group-id <{<integer >}> |
#group-list
group-type :
Region | Global | NodesOf | EdgesOf | etc
group-list :
All | group-list-item | { group-list-item <,...> }
group-list-item :
integer |
integer : integer |
integer : integer : integer |
group-id <{<integer >}>
group-sub-type :
Not | StartingOn | OnOneSideOf | etc
Notes:
1. integer as a group-list-item is the only interface with the mesh; with each element is
associated a region number, being this integer, and a geometrical type (see Section A.1
[Input file format], page 103). Ranges of integers can be specified in the same way as
ranges of constant expressions in an expression-cst-list-item (see Section 4.4 [Constants],
page 16). For example, i :j replaces the list of consecutive integers i, i+1, . . . , j-1, j.
2. Array of groups: DefineGroup[group-id {n }] defines the empty groups group-id {i },
i=1, . . . , n. Such a definition is optional, i.e., each group-id {i } can be separately
defined, in any order.
3. #group-list is an abbreviation of Region[group-list ].
See Section 6.1 [Types for Group], page 41, for the complete list of options and Section 7.2
[Group examples], page 67, for some examples.
Chapter 5: Objects
29
30
GetDP 2.4
constraint-id :
constraint-case-id :
string |
string ~ { expression-cst }
constraint-type :
Assign | Init | Network | Link | etc
constraint-val :
Value expression | NameOfResolution resolution-id | etc
constraint-case-val :
Branch { integer, integer } | etc
Notes:
1. The constraint type constraint-type defined outside the Case fields is applied to all
the cases of the constraint, unless other types are explicitly given in these cases. The
default type is Assign.
2. The region type Region group-def will be the main group-list argument of the groupdef to be built for the constraints of FunctionSpaces. The optional region type
SubRegion group-def will be the argument of the associated group-sub-type.
3. expression in Value of constraint-val cannot be time dependent ($Time) because it is
evaluated only once during the pre-processing (for efficiency reasons). Time dependences must be defined in TimeFunction expression .
See Section 6.3 [Types for Constraint], page 50, for the complete list of options and
Section 7.4 [Constraint examples], page 69, for some examples.
Chapter 5: Objects
31
32
GetDP 2.4
Chapter 5: Objects
33
jacobian-id :
string
jacobian-type :
Vol | Sur | VolAxi | etc
Note:
1. The default case of a Jacobian object is defined by Region All and must follow all
the other cases.
See Section 6.5 [Types for Jacobian], page 53, for the complete list of options and Section 7.6
[Jacobian examples], page 74, for some examples.
34
GetDP 2.4
Chapter 5: Objects
35
with
formulation-id :
string |
string ~ { expression-cst }
formulation-type :
FemEquation | etc
local-term-type :
Galerkin | deRham
quantity-type :
Local | Global | Integral
term-op-type :
DtDof | DtDtDof | JacNL | etc
Note:
1. IndexOfSystem permits to resolve ambiguous cases when several quantities belong to
the same function space, but to different systems of equations. The integer parameter
then specifies the index in the list of an OriginSystem command (see Section 5.8
[Resolution], page 35).
2. A GlobalTerm defines a term to be assembled in an equation associated with a global
quantity. This equation is a finite element equation if that global quantity is linked
with local quantities.
3. A GlobalEquation defines a global equation to be assembled in the matrix of the
system.
See Section 6.7 [Types for Formulation], page 54, for the complete list of options and
Section 7.8 [Formulation examples], page 75, for some examples.
36
GetDP 2.4
Chapter 5: Objects
37
See Section 6.8 [Types for Resolution], page 55, for the complete list of options and
Section 7.9 [Resolution examples], page 77, for some examples.
38
GetDP 2.4
Chapter 5: Objects
39
41
Regions in R1.
Global
NodesOf
Nodes of elements of R1
< Not: but not those of R2 >.
EdgesOf
Edges of elements of R1
< Not: but not those of R2 >.
FacetsOf
Facets of elements of R1
< Not: but not those of R2 >.
VolumesOf
Volumes of elements of R1
< Not: but not those of R2 >.
ElementsOf
Elements of regions in R1
< OnOneSideOf: only elements on one side of R2) >.
GroupsOfNodesOf
Groups of nodes of elements of R1 (a group is associated with each region).
GroupsOfEdgesOf
Groups of edges of elements of R1 (a group is associated with each region).
< InSupport: in a support R2 being a group of type ElementOf, i.e., containing
elements >.
GroupsOfEdgesOnNodesOf
Groups of edges incident to nodes of elements of R1 (a group is associated with
each node).
< Not: but not those of R2) >.
GroupOfRegionsOf
Single group of elements of regions in R1 (with basis function BF Region just
one DOF is created for all elements of R1).
EdgesOfTreeIn
Edges of a tree of edges of R1
< StartingOn: a complete tree is first built on R2 >.
42
GetDP 2.4
FacetsOfTreeIn
Facets of a tree of facets of R1
< StartingOn: a complete tree is first built on R2 >.
DualNodesOf
Dual nodes of elements of R1.
DualEdgesOf
Dual edges of elements of R1.
DualFacetsOf
Dual facets of elements of R1.
DualVolumesOf
Dual volumes of elements of R1.
[expression ]
Exponential function: e^expression.
Log
[expression ]
Natural logarithm: ln(expression), expression>0.
Log10
[expression ]
Base 10 logarithm: log10(expression), expression>0.
Sqrt
[expression ]
Square root, expression>=0.
Sin
[expression ]
Sine of expression.
Asin
[expression ]
Arc sine (inverse sine) of expression in [-Pi/2,Pi/2], expression in [-1,1].
Cos
[expression ]
Cosine of expression.
Acos
[expression ]
Arc cosine (inverse cosine) of expression in [0,Pi], expression in [-1,1].
Tan
[expression ]
Tangent of expression.
Atan
43
[expression ]
Arc tangent (inverse tangent) of expression in [-Pi/2,Pi/2].
Atan2
[expression,expression ]
Arc tangent (inverse tangent) of the first expression divided by the second, in
[-Pi,Pi].
Sinh
[expression ]
Hyperbolic sine of expression.
Cosh
[expression ]
Hyperbolic cosine of expression.
Tanh
[expression ]
Hyperbolic tangent of the real valued expression.
TanhC2
[expression ]
Hyperbolic tangent of a complex valued expression.
Fabs
[expression ]
Absolute value of expression.
Floor
[expression ]
Rounds downwards to the nearest integer that is not greater than expression.
Ceil
[expression ]
Rounds upwards to the nearest integer that is not less than expression.
Fmod
[expression,expression ]
Remainder of the division of the first expression by the second, with the sign
of the first.
Sign
[expression ]
-1 for expression less than zero and 1 otherwise.
Jn
[expression ]
Returns the Bessel function of the first kind of order given by the first expression
for the value of the second expression.
dJn
[expression ]
Returns the derivative of the Bessel function of the first kind of order given by
the first expression for the value of the second expression.
Yn
[expression ]
Returns the Bessel function of the second kind of order given by the first expression for the value of the second expression.
dYn
[expression ]
Returns the derivative of the Bessel function of the second kind of order given
by the first expression for the value of the second expression.
44
GetDP 2.4
[expression,expression ]
Cross product of the two arguments; expression must be a vector.
Hypot
[expression,expression ]
Square root of the sum of the squares of its arguments.
Norm
[expression ]
Absolute value if expression is a scalar; euclidian norm if expression is a vector.
SquNorm
[expression ]
Square norm: Norm[expression ]^2.
Unit
[expression ]
Normalization: expression /Norm[expression ]. Returns 0 if the norm is
smaller than 1.e-30.
Transpose
[expression ]
Transposition; expression must be a tensor.
Inv
[expression ]
Inverse of the tensor expression.
Det
[expression ]
Determinant of the tensor expression.
Rotate
[expression,expression,expression,expression ]
Rotation of a vector or tensor given by the first expression by the angles in
radians given by the last three expression values around the x-, y- and z-axis.
TTrace
[expression ]
Trace; expression must be a tensor.
F_Cos_wt_p
[]{expression-cst,expression-cst }
The first parameter represents the angular frequency and the second represents
the phase. If the type of the current system is Real, F_Cos_wt_p[]{w,p} is
identical to Cos[w*$Time+p]. If the type of the current system is Complex, it
is identical to Complex[Cos[w],Sin[w]].
F_Sin_wt_p
[]{expression-cst,expression-cst }
The first parameter represents the angular frequency and the second represents
the phase. If the type of the current system is Real, F_Sin_wt_p[]{w,p} is
identical to Sin[w*$Time+p]. If the type of the current system is Complex, it
is identical to Complex[Sin[w],-Cos[w]].
45
F_Period
[expression ]{expression-cst }
Fmod[expression,expression-cst ] + (expression <0 ? expression-cst :
0); the result is always in [0,expression-cst[.
Interval
[]{expression-cst }
r/2, 1/(2*Pi)*ln(1/r), 1/(4*Pi*r).
GradLaplace
[]{expression-cst }
Gradient of Laplace relative to the destination point ($X, $Y, $Z).
Helmholtz
[]{expression-cst, expression-cst }
exp(j*k0*r)/(4*Pi*r), where k0 is given by the second parameter.
GradHelmholtz
[]{expression-cst, expression-cst }
Gradient of Helmholtz relative to the destination point ($X, $Y, $Z).
[expression-list ]
Creates a (multi-harmonic) complex expression from an number of real-valued
expressions. The number of expressions in expression-list must be even.
Complex_MH
[expression-list ]{expression-cst-list }
Not documented yet.
Re
[expression ]
Takes the real part of a complex-valued expression.
Im
[expression ]
Takes the imaginary part of a complex-valued expression.
46
GetDP 2.4
Conj
[expression ]
Computes the conjugate of a complex-valued expression.
Cart2Pol
[expression ]
Converts the cartesian form (reale, imaginary) of a complex-valued expression
into polar form (amplitude, phase [radians]).
Vector
[expression,expression,expression ]
Creates a vector from 3 scalars.
Tensor
[expression,expression,expression,expression,expression,expression,
expression,expression,expression ]
Creates a second-rank tensor of order 3 from 9 scalars.
TensorV
[expression,expression,expression ]
Creates a second-rank tensor of order 3 from 3 vectors.
TensorSym
[expression,expression,expression,expression,expression,expression ]
Creates a symmetrical second-rank tensor of order 3 from 6 scalars.
TensorDiag
[expression,expression,expression ]
Creates a diagonal second-rank tensor of order 3 from 3 scalars.
SquDyadicProduct
[expression ]
Dyadic product of the vector given by expression with itself.
CompX
[expression ]
Gets the X component of a vector.
CompY
[expression ]
Gets the Y component of a vector.
CompZ
[expression ]
Gets the Z component of a vector.
CompXX
[expression ]
Gets the XX component of a tensor.
CompXY
[expression ]
Gets the XY component of a tensor.
CompXZ
[expression ]
Gets the XZ component of a tensor.
CompYX
[expression ]
Gets the YX component of a tensor.
CompYY
[expression ]
Gets the YY component of a tensor.
CompYZ
47
[expression ]
Gets the YZ component of a tensor.
CompZX
[expression ]
Gets the ZX component of a tensor.
CompZY
[expression ]
Gets the ZY component of a tensor.
CompZZ
[expression ]
Gets the ZZ component of a tensor.
Cart2Sph
[expression ]
Gets the tensor for transformation of vector from cartesian to spherical coordinates.
Cart2Cyl
[expression ]
Gets the tensor for transformation of vector from cartesian to cylindric coordinates. E.g. to convert a vector with (x,y,z)-components to one with (radial,
tangential, axial)-components: Cart2Cyl[XYZ[]] * vector
UnitVectorX
[]
Creates a unit vector in x-direction.
UnitVectorY
[]
Creates a unit vector in y-direction.
UnitVectorZ
[]
Creates a unit vector in z-direction.
[]
Gets the X coordinate.
[]
Gets the Y coordinate.
[]
Gets the Z coordinate.
XYZ
[]
Gets X, Y and Z in a vector.
48
GetDP 2.4
[expression ]
Prints the value of expression when evaluated. (MPI_Printf can be use instead,
to print the message for all MPI ranks.)
Rand
[expression ]
Returns a pseudo-random number in [0, expression].
Normal
[]
Computes the normal to the element.
NormalSource
[]
Computes the normal to the source element (only valid in a quantity of Integral
type).
Tangent
[]
Computes the tangent to the element (only valid for line elements).
TangentSource
[]
Computes the tangent to the source element (only valid in a quantity of Integral
type and only for line elements).
ElementVol
[]
Computes the elements volume.
SurfaceArea
[]
Computes the area of the actual surface.
GetVolume
[]
Computes the volume of the actual physical group.
F_CompElementNum
[]
Returns 0 if the current element and the current source element are identical.
InterpolationLinear
[expression ]{expression-cst-list }
Linear interpolation of points. The number of constant expressions in
expression-cst-list must be even.
dInterpolationLinear
[expression ]{expression-cst-list }
Derivative of linear interpolation of points. The number of constant expressions
in expression-cst-list must be even.
49
InterpolationBilinear
[expression,expression ]{expression-cst-list }
Bilinear interpolation of a table based on two variables.
https://geuz.org/trac/getdp/wiki/UsageOfTables
for
an
ple.
See
exam-
dInterpolationBilinear
[expression,expression ]{expression-cst-list }
Derivative of bilinear interpolation of a table based on two variables. The result
is a vector. See https://geuz.org/trac/getdp/wiki/UsageOfTables for an
example.
InterpolationAkima
[expression ]{expression-cst-list }
Akima interpolation of points. The number of constant expressions in
expression-cst-list must be even.
dInterpolationAkima
[expression ]{expression-cst-list }
Derivative of Akima interpolation of points. The number of constant expressions in expression-cst-list must be even.
Order
[quantity ]
Returns the interpolation order of the quantity.
Field
[expression ]
Evaluate the last one of the fields (views) loaded with GmshRead (see
Section 6.8 [Types for Resolution], page 55), at the point expression. Common
usage is thus Field[XYZ[]].
Field
[expression ]{expression-cst-list }
Idem, but evaluate all the fields corresponding to the tags in the list, and sum
all the values. A field having no value at the given position does not produce
an error: its contribution to the sum is simply zero.
ScalarField
[expression ]{expression-cst-list }
Idem, but consider only real-valued scalar fields. A second optional argument
is the value of the time step. A third optional argument is a boolean flag to
indicate that the interpolation should be performed (if possible) in the same
element as the current element.
VectorField
[expression ]{expression-cst-list }
Idem, but consider only real-valued vector fields.
treated in the same way as for ScalarField.
TensorField
[expression ]{expression-cst-list }
Idem, but consider only real-valued tensor fields.
treated in the same way as for ScalarField.
50
GetDP 2.4
ComplexScalarField
[expression ]{expression-cst-list }
Idem, but consider only complex-valued scalar fields. Optional arguments are
treated in the same way as for ScalarField.
ComplexVectorField
[expression ]{expression-cst-list }
Idem, but consider only complex-valued vector fields. Optional arguments are
treated in the same way as for ScalarField.
ComplexTensorField
[expression ]{expression-cst-list }
Idem, but consider only complex-valued tensor fields. Optional arguments are
treated in the same way as for ScalarField.
Init
To give an initial value (e.g., initial value in a time domain analysis). If two
values are provided (with Value [ expression, expression ]), the first value
can be used using the InitSolution1 operation. This is mainly useful for the
Newmark time-stepping scheme.
AssignFromResolution
To assign a value to be computed by a pre-resolution.
InitFromResolution
To give an initial value to be computed by a pre-resolution.
Network
Link
To define links between degrees of freedom in the constrained region with degrees of freedom in a reference region, with some coefficient. For example,
to link the degrees of freedom in the contrained region Left with the degrees
of freedom in the reference region Right, located Pi units to the right of the
region Left along the X-axis, with the coeficient -1, one could write:
{ Name periodic;
Case {
{ Region Left; Type Link ; RegionRef Right;
Coefficient -1; Function Vector[$X+Pi,$Y,$Z] ;
}
}
}
In this example, Function defines the mapping that translates the geometrical
elements in the region Left by Pi units along the X-axis, so that they correspond
with the elements in the region Right. For this mapping to work, the meshes
of Left and Right must be identical.
LinkCplx
51
Form1
Form2
Form3
Form1P
Form2P
2-form in the z=0 plane, i.e., parallel div-conform field (associated with a divergence).
Scalar
Scalar field.
Vector
Vector field.
basis-function-type:
BF_Node
BF_Edge
BF_Facet
BF_Volume
Volume function (on VolumesOf, value Form3).
BF_GradNode
Gradient of nodal function (on NodesOf, value Form1).
BF_CurlEdge
Curl of edge function (on EdgesOf, value Form2).
BF_DivFacet
Divergence of facet function (on FacetsOf, value Form3).
BF_GroupOfNodes
Sum of nodal functions (on GroupsOfNodesOf, value Form0).
BF_GradGroupOfNodes
Gradient of sum of nodal functions (on GroupsOfNodesOf, value Form1).
BF_GroupOfEdges
Sum of edge functions (on GroupsOfEdgesOf, value Form1).
BF_CurlGroupOfEdges
Curl of sum of edge functions (on GroupsOfEdgesOf, value Form2).
BF_PerpendicularEdge
1-form (0, 0, BF_Node) (on NodesOf, value Form1P).
52
GetDP 2.4
BF_CurlPerpendicularEdge
Curl of 1-form (0, 0, BF_Node) (on NodesOf, value Form2P).
BF_GroupOfPerpendicularEdge
Sum of 1-forms (0, 0, BF_Node) (on NodesOf, value Form1P).
BF_CurlGroupOfPerpendicularEdge
Curl of sum of 1-forms (0, 0, BF_Node) (on NodesOf, value Form2P).
BF_PerpendicularFacet
2-form (90 degree rotation of BF_Edge) (on EdgesOf, value Form2P).
BF_DivPerpendicularFacet
Div of 2-form (90 degree rotation of BF_Edge) (on EdgesOf, value Form3).
BF_Region
Unit value 1 (on Region or GroupOfRegionsOf, value Scalar).
BF_RegionX
Unit vector (1, 0, 0) (on Region, value Vector).
BF_RegionY
Unit vector (0, 1, 0) (on Region, value Vector).
BF_RegionZ
Unit vector (0, 0, 1) (on Region, value Vector).
BF_Global
Global pre-computed quantity (on Global, value depends on parameters).
BF_dGlobal
Exterior derivative of global pre-computed quantity (on Global, value depends
on parameters).
BF_NodeX
BF_NodeY
BF_NodeZ
BF_Zero
BF_One
global-quantity-type:
AliasOf
AssociatedWith
A global quantity associated with a name of coefficient of basis function, and
therefore with this basis function.
53
Sur
Lin
VolAxi
Axisymmetrical volume Jacobian (1st type: r), for 2-D regions in axisymmetrical geometries.
SurAxi
Axisymmetrical surface Jacobian (1st type: r), for 1-D regions in axisymmetrical geometries.
VolAxiSqu
Axisymmetrical volume Jacobian (2nd type: r2 ), for 2-D regions in axisymmetrical geometries.
VolSphShell
Volume Jacobian with spherical shell transformation, for n-D regions in n-D
geometries, n = 2 or 3.
Parameters: radius-internal, radius-external <, center-X, center-Y, center-Z,
power, 1/infinity >.
VolAxiSphShell
Same as VolAxi, but with spherical shell transformation.
Parameters: radius-internal, radius-external <, center-X, center-Y, center-Z,
power, 1/infinity >.
VolAxiSquSphShell
Same as VolAxiSqu, but with spherical shell transformation.
Parameters: radius-internal, radius-external <, center-X, center-Y, center-Z,
power, 1/infinity >.
VolRectShell
Volume Jacobian with rectangular shell transformation, for n-D regions in n-D
geometries, n = 2 or 3.
Parameters: radius-internal, radius-external <, direction, center-X, center-Y,
center-Z, power, 1/infinity >.
VolAxiRectShell
Same as VolAxi, but with rectangular shell transformation.
Parameters: radius-internal, radius-external <, direction, center-X, center-Y,
center-Z, power, 1/infinity >.
VolAxiSquRectShell
Same as VolAxiSqu, but with rectangular shell transformation.
Parameters: radius-internal, radius-external <, direction, center-X, center-Y,
center-Z, power, 1/infinity >.
54
GetDP 2.4
GaussLegendre
Numerical Gauss integration obtained by application of a multiplicative rule on
the one-dimensional Gauss integration.
element-type:
Line
Triangle
Quadrangle
Quadrangle (4 nodes, 4 edges, 1 facet, 1 volume) (#3).
Tetrahedron
Tetrahedron (4 nodes, 6 edges, 4 facets, 1 volume) (#4).
Hexahedron
Hexahedron (8 nodes, 12 edges, 6 facets, 1 volume) (#5).
Prism
Pyramid
Point
Note:
1. n in (#n) is the type number of the element (see Section A.1 [Input file format],
page 103).
deRham
quantity-type:
Local
Global
Global quantity defining a global quantity from a function space. The identifier
of this quantity has to be given between the brackets following the NameOfSpace
function-space-id .
Integral
55
term-op-type:
Dt
Time derivative applied to the whole term of the equation. (Not implemented
yet.)
DtDof
DtDt
Time derivative of 2nd order applied to the whole term of the equation. (Not
implemented yet.)
DtDtDof
Time derivative of 2nd order applied only to the Dof{} term of the equation.
JacNL
DtDofJacNL
Nonlinear part of the Jacobian matrix for the first order time derivative (tangent
mass matrix) to be assembled for nonlinear analysis.
NeverDt
No time scheme applied to the term (e.g., Theta is always 1 even if a theta
scheme is applied).
[system-id ]
Generate the system of equations system-id.
Solve
[system-id ]
Solve the system of equations system-id.
SolveAgain
[system-id ]
Save as Solve, but reuses the preconditionner when called multiple times.
GenerateJac
[system-id ]
Generate the system of equations system-id using a jacobian matrix (of which
the unknowns are corrections dx of the current solution x).
SolveJac
[system-id ]
Solve the system of equations system-id using a jacobian matrix (of which the
unknowns are corrections dx of the current solution x). Then, Increment the
solution (x=x+dx) and compute the relative error dx/x.
GenerateSeparate
[system-id ]
Generate matrices separately for DtDtDof, DtDof and NoDt terms in systemid. The separate matrices can be used with the Update operation (for efficient
time domain analysis of linear PDEs with constant coefficients), or with the
EigenSolve operation (for solving generalized eigenvalue problems).
56
GetDP 2.4
GenerateOnly
[system-id, expression-cst-list ]
Not documented yet.
GenerateOnlyJac
[system-id, expression-cst-list ]
Not documented yet.
GenerateGroup
Not documented yet.
GenerateRHSGroup
Not documented yet.
Update
[system-id ]
Update the system of equations system-id (built from sub-matrices generated
separately with GenerateSeparate) with the TimeFunction(s) provided in
Assign constraints. This assumes that the problem is linear, that the matrix coefficients are independent of time, and that all sources are imposed using
Assign constraints.
Update
[system-id, expression ]
Update the system of equations system-id (built from sub-matrices generated
separately with GenerateSeparate) with expression. This assumes that the
problem is linear, that the matrix coefficients are independent of time, and that
the right-hand-side of the linear system can simply be multiplied by expression
at each step.
UpdateConstraint
[system-id, group-id, constraint-type ]
Recompute the constraint of type constraint-type acting on group-id during
processing.
InitSolution
[system-id ]
Initialize the solution of system-id to zero (default) or to the values given in a
Constraint of Init type. If two values are given in Init, the second value is
used.
InitSolution1
[system-id ]
Initialize the first of two time steps for a Newmark Scheme. Only works if two
values are specified in Init.
Apply
[system-id ]
x <- Ax
SetSolutionAsRHS
[system-id ]
b <- x
57
SetRHSAsSolution
[system-id ]
x <- b
Residual
[system-id ]
x <- b - Ax
SaveSolution
[system-id ]
Save the solution of the system of equations system-id.
SaveSolutions
[system-id ]
Save all the solutions available for the system of equations system-id. This
should be used with algorithms that generate more than one solution at once,
e.g., EigenSolve or FourierTransform.
TransferSolution
[system-id ]
Transfer the solution of system system-id, as an Assign constraint, to the system of equations defined with a DestinationSystem command. This is used
with the AssignFromResolution constraint type (see Section 6.3 [Types for
Constraint], page 50).
TransferInitSolution
[system-id ]
Transfer the solution of system system-id, as an Init constraint, to the system of equations defined with a DestinationSystem command. This is used
with the InitFromResolution constraint type (see Section 6.3 [Types for Constraint], page 50).
Evaluate
[expression ]
Evaluate expression.
SetTime
[expression ]
Change the current time.
SetFrequency
[system-id, expression ]
Change the frequency of system system-id.
SystemCommand
[expression-char ]
Execute the system command given by expression-char.
Test
[expression ] { resolution-op }
If expression is true (nonzero), perform the operations in resolution-op.
Test
58
GetDP 2.4
Break
Aborts an iterative loop or a time loop.
Print
EigenSolve
[system-id, expression-cst, expression-cst, expression-cst ]
Eigenvalue/eigenvector computation using Arpack or SLEPc (). The parameters are: the system (which has to be generated with GenerateSeparate[]),
the number of eigenvalues/eigenvectors to compute and the real and imaginary
spectral shift (around which to look for eigenvalues).
Lanczos
FourierTransform
[system-id, system-id, { expression-cst-list }]
On-the-fly computation of a discrete Fourier transform. The parameters are:
the (time domain) system, the destination system in which the result of the
Fourier tranform is to be saved (it should be declared with Type Complex), the
list of frequencies to consider in the discrete Fourier transform.
TimeLoopTheta
[expression-cst,expression-cst,expression,expression-cst ]
{
resolution-op }
Time loop of a theta scheme. The parameters are: the initial time, the end
time, the time step and the theta parameter (e.g., 1 for implicit Euler, 0.5 for
Crank-Nicholson).
Warning: GetDP automatically handles time-dependent constraints when
they are provided using the TimeFunction mechanism in an Assign-type
Constraint (see Section 5.3 [Constraint], page 29).
However, GetDP
cannot automatically transform general time-dependent source terms in weak
formulations (time-dependent functions written in a Galerkin term). Such
source terms will be correctly treated only for implicit Euler, as the expression
in the Galerkin term is evaluated at the current time step. For other schemes,
the source term should be written explicitly, by splitting it in two (theta
f_n+1 + (1-theta) f_n), making use of the AtAnteriorTimeStep[] for the
second part, and specifying NeverDt in the Galerkin term.
59
TimeLoopNewmark
[expression-cst,expression-cst,expression,expressioncst,expression-cst ]
{ resolution-op }
Time loop of a Newmark scheme. The parameters are: the initial time, the end
time, the time step, the beta and the gamma parameter.
Warning: same restrictions apply for time-dependent functions in the weak
formulations as for TimeLoopTheta.
TimeLoopAdaptive
[expression-cst,expression-cst,expression-cst,expression-cst,
expression-cst,integration-method,<expression-cst-list >,
System { {system-id,expression-cst,expression-cst,norm-type } ... }
|
PostOperation { {post-operation-id,expression-cst,expressioncst,norm-type } ... } ]
{ resolution-op }
{ resolution-op }
Time loop with variable time steps. The step size is adjusted according the
local truncation error (LTE) of the specified Systems/PostOperations via a
predictor-corrector method.
The parameters are: start time, end time, initial time step, min. time step,
max. time step, integration method, list of breakpoints (time points to be
hit). The LTE calculation can be based on all DOFs of a system and/or on
a PostOperation result. The parameters here are: System/PostOperation for
LTE assessment, relative LTE tolerance, absolute LTE tolerance, norm-type for
LTE calculation.
Possible choices for integration-method are: Euler, Trapezoidal, Gear_2,
Gear_3, Gear_4, Gear_5, Gear_6. The Gear methods correspond to backward
differentiation formulas of order 2..6.
Possible choices for norm-type: L1Norm, MeanL1Norm, L2Norm, MeanL2Norm,
LinfNorm.
MeanL1Norm and MeanL2Norm correspond to L1Norm and L2Norm divided by the
number of degrees of freedom, respectively.
The first resolution-op is executed every time step. The second one is only
executed if the actual time step is accepted (LTE is in the specified range).
E.g. SaveSolution[] is usually placed in the 2nd resolution-op.
See https://geuz.org/trac/getdp/wiki/TimeLoopAdaptive for more details
and an example.
IterativeLoop
[expression-cst,expression,expression-cst <,expression-cst >]
resolution-op }
Iterative loop for nonlinear analysis. The parameters are: the maximum number
of iterations (if no convergence), the relaxation factor (multiplies the iterative
correction dx) and the relative error to achieve. The optional parameter is a
flag for testing purposes.
60
GetDP 2.4
IterativeLoopN
[expression-cst,expression,
System { {system-id,expression-cst,expression-cst, assessed-object
norm-type } ... } |
PostOperation { {post-operation-id,expression-cst,expression-cst,
norm-type } ... } ]
{ resolution-op }
Similar to IterativeLoop[] but allows to specify in detail the tolerances and
the type of norm to be calculated for convergence assessment.
The parameters are: the maximum number of iterations (if no convergence),
the relaxation factor (multiplies the iterative correction dx). The convergence
assessment can be based on all DOFs of a system and/or on a PostOperation
result. The parameters here are: System/PostOperation for convergence assessment, relative tolerance, absolute tolerance, assessed object (only applicable for
a specified system), norm-type for error calculation.
Possible choices for assessed-object: Solution, Residual, RecalcResidual.
Residual assesses the residual from the last iteration whereas RecalcResidual
calculates the residual once again after each iteration. This means that with
Residual usually one extra iteration is performed, but RecalcResidual causes
higher computational effort per iteration. Assessing the residual can only be
used for Newtons method.
Possible choices for norm-type: L1Norm, MeanL1Norm, L2Norm, MeanL2Norm,
LinfNorm.
MeanL1Norm and MeanL2Norm correspond to L1Norm and L2Norm divided by the
number of degrees of freedom, respectively.
See https://geuz.org/trac/getdp/wiki/IterativeLoopN for more details
and an example.
PostOperation
[post-operation-id ]
Perform the specified PostOperation.
GmshRead
[expression-char ]
When GetDP is linked with the Gmsh library, read a file using Gmsh. This
file can be in any format recognized by Gmsh. If the file contains one or
multiple post-processing fields, these fields will be evaluated using the builtin Field[], ScalarField[], VectorField[], etc., functions (see Section 6.2.6
[Miscellaneous functions], page 48).
(Note that GmshOpen and GmshMerge can be used instead of GmshRead to force
Gmsh to do classical open and merge operations, instead of trying to be
intelligent when reading post-processing datasets, i.e., creating new models on
the fly if necessary.)
GmshRead
[expression-char, expression-cst ]
Same thing as the GmshRead command above, except that the field is forced to
be stored with the given tag. The tag can be used to retrieve the given field
with the built-in Field[], ScalarField[], VectorField[], etc., functions (see
Section 6.2.6 [Miscellaneous functions], page 48).
61
GmshWrite
[expression-char, expression-cst ]
Writes the a Gmsh field to disk. (The format is guessed from the file extension.)
DeleteFile
[expression-char ]
Delete a file.
CreateDir | CreateDirectory
[expression-char ]
Create a directory.
{ local-value }
To compute a local quantity.
Integral
{ integral-value }
To integrate the expression over each element.
group-def
To compute a global quantity associated with the region group-def.
OnGlobal
OnSection
{ { expression-cst-list } { expression-cst-list } { expression-cst-list } }
To compute a quantity on a section of the mesh defined by three points (i.e., on
the intersection of the mesh with a cutting a plane, specified by three points).
Each expression-cst-list must contain exactly three elements (the coordinates
of the points).
OnGrid
group-def
To compute a quantity in elements of a mesh which differs from the real support
of the solution. OnGrid group-def differs from OnElementsOf group-def by
the reinterpolation that must be performed.
OnGrid
62
GetDP 2.4
To compute a quantity on a parametric grid. The three expressions represent the three cartesian coordinates x, y and z, and can be functions of the
current values $A, $B and $C. The values for $A, $B and $C are specified
by each expression-cst-list-item or expression-cst-list. For example, OnGrid
{Cos[$A], Sin[$A], 0} { 0:2*Pi:Pi/180, 0, 0 } will compute the quantity
on 360 points equally distributed on a circle in the z=0 plane, and centered on
the origin.
OnPoint
{ expression-cst-list }
To compute a quantity at a point. The expression-cst-list must contain exactly
three elements (the coordinates of the point).
OnLine
OnPlane
OnBox
print-option:
File
expression-char
Outputs the result in a file named expression-char.
File
> expression-char
Same as File expression-char , except that, if several File > expressionchar options appear in the same PostOperation, the results are concatenated
in the file expression-char.
File
>> expression-char
Appends the result to a file named expression-char.
Name
expression-char
For formats that support it, sets the label of the output field to expression-char.
Depth
expression-cst
63
Recursive division of the elements if expression-cst is greater than zero, derefinement if expression-cst is smaller than zero. If expression-cst is equal to zero,
evaluation at the barycenter of the elements.
Skin
Smoothing
Smoothes the solution at the nodes.
HarmonicToTime
expression-cst
Converts a harmonic solution into a time-dependent one (with expression-cst
steps).
Dimension
expression-cst
Forces the dimension of the elements to consider in an element search. Specifies
the problem dimension during an adaptation (h- or p-refinement).
TimeStep
expression-cst-list-item | { expression-cst-list }
Outputs results for the specified time steps only.
LastTimeStepOnly
Outputs results for the last time step only (useful when calling a PostOperation
directly in a Resolution, for example).
AppendTimeStepToFileName
< expression-cst >
Appends the time step to the output file;
LastTimeStepOnly.
OverrideTimeStepValue
expression-cst
Overrides the value of the current time step with the given value.
NoMesh
Prevents the mesh from being written in the output file (useful with new meshbased solution formats).
SendToServer
expression-char
Send the value to the Onelab server, using expression-char as the paramater
name.
Color
expression-char
Used with SendToServer, sets the color of the parameter in the Onelab server.
Frequency
expression-cst-list-item | { expression-cst-list }
Outputs results for the specified frequencies only.
Format
post-operation-fmt
Outputs results in the specified format.
64
GetDP 2.4
Adapt
P1 | H1 | H2
Performs p- or h-refinement on the post-processing result, considered as an error
map.
Target
expression-cst
Specifies the target for the optimizer during adaptation (error for P1|H1, number of elements for H2).
Value
expression-cst-list-item | { expression-cst-list }
Specifies acceptable output values for discrete optimization (e.g. the available
interpolation orders with Adapt P1).
Sort
Position | Connection
Sorts the output by position (x, y, z) or by connection (for LINE elements only).
Iso
expression-cst
Outputs directly contour prints (with expression-cst values) instead of elementary values.
Iso
{ expression-cst-list }
Outputs directly contour prints for the values specified in the expression-cst-list
instead of elementary values.
NoNewLine
Suppresses the new lines in the output when printing global quantities (i.e.,
with Print OnRegion or Print OnGlobal).
ChangeOfCoordinates
{ expression, expression, expression }
Changes the coordinates of the results according to the three expressions given
in argument. The three expressions represent the three new cartesian coordinates x, y and z, and can be functions of the current values of the cartesian
coordinates $X, $Y and $Z.
ChangeOfValues
{ expression-list }
Changes the values of the results according to the expressions given in argument.
The expressions represent the new values (x-compoment, y-component, etc.),
and can be functions of the current values of the solution ($Val0, $Val1, etc.).
DecomposeInSimplex
Decomposes all output elements in simplices (points, lines, triangles or tetrahedra).
StoreInRegister
expression-cst
Stores the result of an OnRegion post-processing operation in the register
expression-cst.
StoreMinInRegister
StoreMaxInRegister
expression-cst
65
Space oriented column output, e.g., suitable for Gnuplot, Excel, Caleida Graph,
etc. The columns are: element-type element-index x-coord y-coord z-coord
66
GetDP 2.4
<x-coord y-coord z-coord> . . . real real real values. The three real numbers
preceding the values contain context-dependent information, depending on the
type of plot: curvilinear abscissa for OnLine plots, normal to the plane for
OnPlane plots, parametric coordinates for parametric OnGrid plots, etc.
SimpleTable
Like Table, but with only the x-coord y-coord z-coord and values columns.
TimeTable
Time oriented column output, e.g., suitable for Gnuplot, Excel, Caleida Graph,
etc. The columns are: time-step time x-coord y-coord z-coord <x-coord y-coord
z-coord> . . . value.
NodeTable
Table of node values. The first value corresponds to the number of listed nodes.
The columns of the following lines are: node-number node-value(s)
Gnuplot
Space oriented column output similar to the Table format, except that a new
line is created for each node of each element, with a repetition of the first node
if the number of nodes in the element is greater than 2. This permits to draw
unstructured meshes and nice three-dimensional elevation plots in Gnuplot.
The columns are: element-type element-index x-coord y-coord z-coord real
real real values. The three real numbers preceding the values contain contextdependent information, depending on the type of plot: curvilinear abscissa for
OnLine plots, normal to the plane for OnPlane plots, parametric coordinates
for parametric OnGrid plots, etc.
Adaptation
Adaptation map, suitable for the GetDP -adapt command line option.
67
7 Short examples
7.1 Constant expression examples
The simplest constant expression consists of an integer or a real number as in
21
-3
or
-3.1415
27e3
-290.53e-12
Using operators and the classic math functions, constant-ids can be defined:
c1 = Sin[2/3*3.1415] * 5000^2;
c2 = -1/c1;
68
GetDP 2.4
Function {
mu0 = 4.e-7*Pi;
a1 = 1000.; b1 = 100.; // Constants
mu[NonlinearCore] = mu0 + 1./(a1+b1*Norm[$1]^6);
}
where function mu[] in region NonLinearCore has one argument $1 which has to be the
magnetic flux density. This function is actually called when writing the equations of a
formulation, which permits to directly extend it to a nonlinear form by adding only the
necessary arguments. For example, in a magnetic vector potential formulation, one may
write mu[{Curl a}] instead of mu[] in Equation terms (see Section 7.8 [Formulation examples], page 75). Multiple arguments can be specified in a similar way: writing mu[{Curl
a},{T}] in an Equation term will provide the function mu[] with two usable arguments,
$1 (the magnetic flux density) and $2 (the temperature).
It is also possible to directly interpolate one-dimensional functions from tabulated data. In
the following example, the function f (x) as well as its derivative f (x) are interpolated from
the (x,f (x)) couples (0,0.65), (1,0.72), (2,0.98) and (3,1.12):
Function {
couples = {0, 0.65 , 1, 0.72 , 2, 0.98 , 3, 1.12};
f[] = InterpolationLinear[$1]{List[couples]};
dfdx[] = dInterpolationLinear[$1]{List[couples]};
}
The function f[] may then be called in an Equation term of a Formulation with one argument, x. Notice how the list of constants List[couples] is supplied as a list of parameters
to the built-in function InterpolationLinear (see Section 4.4 [Constants], page 16, as well
as Section 4.6 [Functions], page 21). In order to facilitate the construction of such interpolations, the couples can also be specified in two separate lists, merged with the alternate
list ListAlt command (see Section 4.4 [Constants], page 16):
Function {
data_x = {0, 1, 2, 3};
data_f = {0.65, 0.72, 0.98, 1.12};
f[] = InterpolationLinear[$1]{ListAlt[data_x, data_f]};
dfdx[] = dInterpolationLinear[$1]{ListAlt[data_x, data_f]};
}
In order to optimize the evaluation time of complex expressions, registers may be used (see
Section 4.9 [Registers], page 22). For example, the evaluation of g[] = f[$1]*Sin[f[$1]^2]
would require two (costly) linear interpolations. But the result of the evaluation of f[] may
be stored in a register (for example the register 0) with
g[] = f[$1]#0 * Sin[#0^2];
thus reducing the number of evaluations of f[] (and of the argument $1) to one.
A function can also be time dependent, e.g.,
Function {
Freq = 50.; Phase = 30./180.*Pi; // Constants
TimeFct_Sin[] = Sin [ 2.*Pi*Freq * $Time + Phase ];
TimeFct_Exp[] = Exp [ - $Time / 0.0119 ];
TimeFct_ExtSin[] = F_Sin_wt_p [] {2.*Pi*Freq, Phase};
69
}
Note that TimeFct_ExtSin[] is identical to TimeFct_Sin[] in a time domain analysis, but
also permits to define phasors implicitely in the case of harmonic analyses.
70
GetDP 2.4
vn s n
v S 0 (W )
nN
where N is the set of nodes of W, sn is the nodal basis function associated with node n and
vn is the value of v at node n. It is defined by
FunctionSpace {
{ Name Hgrad_v; Type Form0;
BasisFunction {
{ Name sn; NameOfCoef vn; Function BF_Node;
Support Domain; Entity NodesOf[All]; }
}
Constraint {
{ NameOfCoef vn; EntityType NodesOf;
NameOfConstraint DirichletBoundaryCondition1; }
}
}
}
Function sn is the built-in basis function BF Node associated with all nodes (NodesOf) in
the mesh of W (Domain). Previously defined Constraint DirichletBoundaryCondition1
(see Section 7.4 [Constraint examples], page 69) is used as boundary condition.
In the example above, Entity NodesOf[All] is preferred to Entity NodesOf[Domain]. In
this way, the list of all the nodes of Domain will not have to be generated. All the nodes of
each geometrical element in Support Domain will be directly taken into account.
v=
71
vn sn +
vf sf
v S 0 (W )
f Cf
nNv
where Nv is the set of inner nodes of W and each function sf is associated with the group
of nodes of boundary Gf, f in Cf (SkinDomainC); sf is the sum of the nodal basis functions
of all the nodes of Cf. Its function space is defined by
FunctionSpace {
{ Name Hgrad_v_floating; Type Form0;
BasisFunction {
{ Name sn; NameOfCoef vn; Function BF_Node;
Support Domain; Entity NodesOf[All, Not SkinDomainC]; }
{ Name sf; NameOfCoef vf; Function BF_GroupOfNodes;
Support Domain; Entity GroupsOfNodesOf[SkinDomainC]; }
}
GlobalQuantity {
{ Name GlobalElectricPotential; Type AliasOf; NameOfCoef vf; }
{ Name GlobalElectricCharge; Type AssociatedWith;
NameOfCoef vf; }
}
Constraint { ... }
}
}
Two global quantities have been associated with this space: the electric potential Global
ElectricPotential, being an alias of coefficient vf, and the electric charge GlobalElec
tricCharge, being associated with coefficient vf.
he s e
h S 1 (W )
eE
where E is the set of edges of W, se is the edge basis function for edge e and he is the
circulation of h along edge e. It is defined by
FunctionSpace {
{ Name Hcurl_h; Type Form1;
BasisFunction {
{ Name se; NameOfCoef he; Function BF_Edge;
Support Domain; Entity EdgesOf[All]; }
}
Constraint { ... }
}
}
72
GetDP 2.4
X
kEc
hk sk +
n vn
h S 1 (W )
nNcC
where Ec is the set of inner edges of W, NcC is the set of nodes inside WcC and on its
boundary dWcC, sk is an edge basis function and vn is a vector nodal function. Such a
space, coupling a vector field with a scalar potential, can be defined by
FunctionSpace {
{ Name Hcurl_hphi; Type Form1;
BasisFunction {
{ Name sk; NameOfCoef hk; Function BF_Edge;
Support DomainC; Entity EdgesOf[All, Not SkinDomainC]; }
{ Name vn; NameOfCoef phin; Function BF_GradNode;
Support DomainCC; Entity NodesOf[All]; }
73
hk;
EdgesOf; NameOfConstraint MagneticField; }
phin;
NodesOf; NameOfConstraint MagneticScalarPotential; }
phic;
NodesOf; NameOfConstraint MagneticScalarPotential; }
}
}
This example points out the definition of a piecewise defined basis function, e.g., function
vn being defined with BF_GradNode in DomainCC and BF_GroupOfEdges in DomainC. This
leads to an easy coupling between these regions.
7.5.7 Coupled edge and nodal finite element spaces for multiply
connected domains
In case a multiply connected domain WcC is considered, basis functions associated with cuts
(SurfaceCut) have to be added to the previous basis functions, which gives the function
space below:
Group {
_TransitionLayer_SkinDomainC_ =
ElementsOf[SkinDomainC, OnOneSideOf SurfaceCut];
}
FunctionSpace {
{ Name Hcurl_hphi; Type Form1;
BasisFunction {
... same as above ...
{ Name sc; NameOfCoef Ic; Function BF_GradGroupOfNodes;
Support ElementsOf[DomainCC, OnOneSideOf SurfaceCut];
Entity GroupsOfNodesOf[SurfaceCut]; }
{ Name sc; NameOfCoef Icc; Function BF_GroupOfEdges;
Support DomainC;
Entity GroupsOfEdgesOf
[SurfaceCut,
InSupport _TransitionLayer_SkinDomainC_]; }
}
GlobalQuantity {
{ Name I; Type AliasOf
; NameOfCoef Ic; }
{ Name U; Type AssociatedWith; NameOfCoef Ic; }
}
74
GetDP 2.4
Constraint {
... same as above ...
{ NameOfCoef
EntityType
{ NameOfCoef
EntityType
{ NameOfCoef
EntityType
Ic;
GroupsOfNodesOf; NameOfConstraint Current; }
Icc;
GroupsOfNodesOf; NameOfConstraint Current; }
U;
GroupsOfNodesOf; NameOfConstraint Voltage; }
}
}
}
Global quantities associated with the cuts, i.e., currents and voltages if h is the magnetic
field, have also been defined.
Integration {
{ Name Int_1;
Case { {Type Gauss;
Case { { GeoElement
{ GeoElement
{ GeoElement
{ GeoElement
{ GeoElement
}
}
}
}
75
Triangle
;
Quadrangle ;
Tetrahedron;
Hexahedron ;
Prism
;
NumberOfPoints
NumberOfPoints
NumberOfPoints
NumberOfPoints
NumberOfPoints
4;
4;
4;
6;
9;
}
}
}
}
} }
The method above is valid for both 2D and 3D problems, for different kinds of elements.
76
GetDP 2.4
Formulation {
{ Name Electrostatics_v_floating; Type FemEquation;
Quantity {
{ Name v; Type Local; NameOfSpace Hgrad_v_floating; }
{ Name V; Type Global;
NameOfSpace Hgrad_v_floating [GlobalElectricPotential]; }
{ Name Q; Type Global;
NameOfSpace Hgrad_v_floating [GlobalElectricCharge]; }
}
Equation {
Galerkin { [ epsr[] * Dof{Grad v} , {Grad v} ];
In Domain; Jacobian Vol; Integration Int_1; }
GlobalTerm { [ - Dof{Q}/eps0 , {V} ]; In SkinDomainC; }
}
}
}
with the predefinition Function { eps0 = 8.854187818e-12; }.
77
78
GetDP 2.4
Resolution {
{ Name Magnetodynamics_hphi;
System {
{ Name Sys_Mag; NameOfFormulation Magnetodynamics_hphi;
Frequency Freq; }
}
Operation {
Generate[Sys_Mag]; Solve[Sys_Mag]; SaveSolution[Sys_Mag];
}
}
}
preceded by the definition of constant Freq, e.g.,
Function {
Freq = 50.;
}
79
...
Operation {
InitSolution[Sys_Mag]; SaveSolution[Sys_Mag];
TimeLoopTheta[Mag_Time0, Mag_TimeMax, Mag_DTime[], Mag_Theta[]] {
IterativeLoop[NL_NbrMax, NL_Eps, NL_Relax] {
GenerateJac[Sys_Mag]; SolveJac[Sys_Mag];
}
SaveSolution[Sys_Mag];
}
}
...
preceded by constant definitions, e.g.,
Function {
NL_Eps = 1.e-4; NL_Relax = 1.; NL_NbrMax = 80;
}
80
GetDP 2.4
see Section 7.9 [Resolution examples], page 77), for the solution associated with the
formulation Electrostatics_v, by
PostProcessing {
{ Name EleSta_v; NameOfFormulation Electrostatics_v;
Quantity {
{ Name v; Value { Local { [ {v} ]; In Domain; } } }
{ Name e; Value { Local { [ -{Grad v} ]; In Domain; } } }
{ Name d; Value { Local { [ -eps0*epsr[] *{Grad v} ];
In Domain; } } }
}
}
}
The electric scalar potential v (v), the electric field e (e) and the electric flux density d (d)
can all be computed from the solution. They are all defined in the region Domain.
The quantities for the solution associated with the formulation Electrostatics_v_float
ing are defined by
PostProcessing {
{ Name EleSta_vf; NameOfFormulation Electrostatics_v_floating;
Quantity {
... same as above ...
{ Name Q; Value { Local { [ {Q} ]; In SkinDomainC; } } }
{ Name V; Value { Local { [ {V} ]; In SkinDomainC; } } }
}
}
}
which points out the way to define post-quantities based on global quantities.
81
83
8 Complete examples
This chapter presents complete examples that can be run as is with GetDP (see Chapter 3
[Running GetDP], page 11).
Many other ready-to-use examples are available in the GetDP wiki at the following address:
https://geuz.org/trac/getdp (username=getdp; password=getdp).
Note that the structure of the following files points out the separation of the data describing
the particular problem and the method used to solve it (see Section 1.1 [Numerical tools as
objects], page 5), and therefore how it is possible to build black boxes adapted to well defined
categories of problems. The files are commented (see Section 4.1 [Comments], page 15) and
can be run without any modification.
/* ------------------------------------------------------------------File "mStrip.pro"
84
GetDP 2.4
This file defines the problem dependent data structures for the
microstrip problem.
To compute the solution:
getdp mStrip -solve EleSta_v
To compute post-results:
getdp mStrip -pos Map
or getdp mStrip -pos Cut
------------------------------------------------------------------- */
Group {
/* Lets start by defining the interface (i.e. elementary groups)
between the mesh file and GetDP (no mesh object is defined, so
the default mesh will be assumed to be in GMSH format and located
in "mStrip.msh") */
Air = Region[101]; Diel1 = Region[111];
Ground = Region[120]; Line = Region[121];
SurfInf = Region[130];
/* We can then define a global group (used in "EleSta_v.pro",
the file containing the function spaces and formulations) */
DomainCC_Ele = Region[{Air, Diel1}];
}
Function {
/* The relative permittivity (needed in the formulation) is piecewise
defined in elementary groups */
epsr[Air] = 1.;
epsr[Diel1] = 9.8;
}
Constraint {
/* Now, some Dirichlet conditions are defined. The name
ElectricScalarPotential refers to the constraint name given in
the function space */
{ Name ElectricScalarPotential; Type Assign;
Case {
85
86
GetDP 2.4
Function :
-------epsr[]
Constraint :
---------ElectricScalarPotential
Relative permittivity
Physical constants :
-----------------eps0 = 8.854187818e-12;
Group {
DefineGroup[ Domain_Ele, DomainCC_Ele, DomainC_Ele ];
}
Function {
DefineFunction[ epsr ];
}
FunctionSpace {
{ Name Hgrad_v_Ele; Type Form0;
BasisFunction {
// v = v s
, for all nodes
//
n n
{ Name sn; NameOfCoef vn; Function BF_Node;
Support DomainCC_Ele; Entity NodesOf[ All ]; }
}
Constraint {
{ NameOfCoef vn; EntityType NodesOf;
NameOfConstraint ElectricScalarPotential; }
}
}
}
Formulation {
{ Name Electrostatics_v; Type FemEquation;
Quantity {
{ Name v; Type Local; NameOfSpace Hgrad_v_Ele; }
}
Equation {
Galerkin { [ epsr[] * Dof{d v} , {d v} ]; In DomainCC_Ele;
Jacobian Vol; Integration GradGrad; }
*/
}
}
}
Resolution {
{ Name EleSta_v;
System {
{ Name Sys_Ele; NameOfFormulation Electrostatics_v; }
}
Operation {
Generate[Sys_Ele]; Solve[Sys_Ele]; SaveSolution[Sys_Ele];
}
}
}
PostProcessing {
{ Name EleSta_v; NameOfFormulation Electrostatics_v;
Quantity {
{ Name v;
Value {
Local { [ {v} ]; In DomainCC_Ele; Jacobian Vol; }
}
}
{ Name e;
Value {
Local { [ -{d v} ]; In DomainCC_Ele; Jacobian Vol; }
}
}
{ Name d;
Value {
Local { [ -eps0*epsr[] * {d v} ]; In DomainCC_Ele;
Jacobian Vol; }
}
}
}
}
}
/* ------------------------------------------------------------------File "Jacobian_Lib.pro"
Definition of a jacobian method
------------------------------------------------------------------I N P U T
87
88
GetDP 2.4
--------GlobalGroup :
----------DomainInf
Parameters :
---------Val_Rint, Val_Rext
*/
Group {
DefineGroup[ DomainInf ] ;
DefineVariable[ Val_Rint, Val_Rext ] ;
}
Jacobian {
{ Name Vol ;
Case { { Region DomainInf ;
Jacobian VolSphShell {Val_Rint, Val_Rext} ; }
{ Region All ; Jacobian Vol ; }
}
}
}
/* ------------------------------------------------------------------File "Integration_Lib.pro"
Definition of integration methods
------------------------------------------------------------------- */
Integration {
{ Name GradGrad ;
Case { {Type Gauss ;
Case { { GeoElement
{ GeoElement
{ GeoElement
{ GeoElement
{ GeoElement
}
}
}
{ Name CurlCurl ;
Case { {Type Gauss ;
Case { { GeoElement
{ GeoElement
Triangle
Quadrangle
Tetrahedron
Hexahedron
Prism
;
;
;
;
;
NumberOfPoints
NumberOfPoints
NumberOfPoints
NumberOfPoints
NumberOfPoints
Triangle
Quadrangle
; NumberOfPoints
; NumberOfPoints
4
4
4
6
9
;
;
;
;
;
}
}
}
}
} }
4 ; }
4 ; }
89
4 ; }
6 ; }
9 ; } }
90
GetDP 2.4
The jacobian and integration methods used are the same as for the electrostatic problem
presented in Section 8.1 [Electrostatic problem], page 83.
/* ------------------------------------------------------------------File "CoreSta.pro"
This file defines the problem dependent data structures for the
static core-inductor problem.
To compute the solution:
getdp CoreSta -msh Core.msh -solve MagSta_a_2D
To compute post-results:
getdp CoreSta -msh Core.msh -pos Map_a
------------------------------------------------------------------- */
Group {
Air
Ind
= Region[ 101 ];
= Region[ 103 ];
91
Core
= Region[ 102 ];
AirInf = Region[ 111 ];
Val_Rint = 200.e-3;
Val_Rext = 250.e-3;
DomainCC_Mag
DomainC_Mag
DomainS_Mag
DomainInf
Domain_Mag
=
=
=
=
=
Region[
Region[
Region[
Region[
Region[
}
Function {
mu0 = 4.e-7 * Pi;
murCore = 100.;
nu [ Region[{Air, Ind, AirInf}] ] = 1. / mu0;
nu [ Core ] = 1. / (murCore * mu0);
Sc[ Ind ] = 2.5e-2 * 5.e-2;
}
Constraint {
{ Name MagneticVectorPotential_2D;
Case {
{ Region SurfaceGe0 ; Value 0.; }
{ Region SurfaceGInf; Value 0.; }
}
}
Val_I_1_ = 0.01 * 1000.;
{ Name SourceCurrentDensityZ;
Case {
{ Region Ind; Value Val_I_1_/Sc[]; }
}
}
92
GetDP 2.4
}
Include "Jacobian_Lib.pro"
Include "Integration_Lib.pro"
Include "MagSta_a_2D.pro"
e = 1.e-5;
p1 = {e,e,0};
p2 = {0.12,e,0};
PostOperation {
{ Name Map_a; NameOfPostProcessing MagSta_a_2D;
Operation {
Print[ az, OnElementsOf Domain_Mag, File "CoreSta_a.pos" ];
Print[ b, OnLine{{List[p1]}{List[p2]}} {1000}, File "k_a" ];
}
}
}
/* ------------------------------------------------------------------File "MagSta_a_2D.pro"
Magnetostatics - Magnetic vector potential a formulation (2D)
------------------------------------------------------------------I N P U T
--------GlobalGroup :
----------Domain_Mag
DomainS_Mag
Function :
-------nu[]
Magnetic reluctivity
Constraint :
---------MagneticVectorPotential_2D
Fixed magnetic vector potential (2D)
(classical boundary condition)
SourceCurrentDensityZ
Fixed source current density (in Z direction)
*/
Group {
DefineGroup[ Domain_Mag, DomainS_Mag ];
}
Function {
DefineFunction[ nu ];
}
FunctionSpace {
// Magnetic vector potential a (b = curl a)
{ Name Hcurl_a_Mag_2D; Type Form1P;
BasisFunction {
// a = a s
//
e e
{ Name se; NameOfCoef ae; Function BF_PerpendicularEdge;
Support Domain_Mag; Entity NodesOf[ All ]; }
}
Constraint {
{ NameOfCoef ae; EntityType NodesOf;
NameOfConstraint MagneticVectorPotential_2D; }
}
}
// Source current density js (fully fixed space)
{ Name Hregion_j_Mag_2D; Type Vector;
BasisFunction {
{ Name sr; NameOfCoef jsr; Function BF_RegionZ;
Support DomainS_Mag; Entity DomainS_Mag; }
}
Constraint {
{ NameOfCoef jsr; EntityType Region;
NameOfConstraint SourceCurrentDensityZ; }
}
}
}
Formulation {
{ Name Magnetostatics_a_2D; Type FemEquation;
Quantity {
{ Name a ; Type Local; NameOfSpace Hcurl_a_Mag_2D; }
{ Name js; Type Local; NameOfSpace Hregion_j_Mag_2D; }
}
Equation {
Galerkin { [ nu[] * Dof{d a} , {d a} ]; In Domain_Mag;
Jacobian Vol; Integration CurlCurl; }
93
94
GetDP 2.4
95
= Region[ 101 ];
= Region[ 103 ];
Core
= Region[ 102 ];
AirInf = Region[ 111 ];
Val_Rint = 200.e-3;
Val_Rext = 250.e-3;
DomainCC_Mag
DomainC_Mag
DomainB_Mag
DomainS_Mag
DomainInf
Domain_Mag
=
=
=
=
=
=
Region[
Region[
Region[
Region[
Region[
Region[
}
Function {
mu0 = 4.e-7 * Pi;
murCore = 100.;
{Air, AirInf} ];
{Ind, Core} ]; // Massive inductor + conducting core
{} ];
{} ];
{AirInf} ];
{DomainCC_Mag, DomainC_Mag} ];
96
GetDP 2.4
97
Function :
-------nu[]
sigma[]
Magnetic reluctivity
Electric conductivity
Velocity[]
Velocity of regions
Constraint :
---------MagneticVectorPotential_2D
Fixed magnetic vector potential (2D)
(classical boundary condition)
SourceCurrentDensityZ
Fixed source current density (in Z direction)
Voltage_2D
Current_2D
Fixed voltage
Fixed Current
98
GetDP 2.4
Parameters :
---------Freq
Frequency (Hz)
nu, sigma ];
Velocity ];
Freq ];
Mag_Time0, Mag_TimeMax, Mag_DTime, Mag_Theta ];
FunctionSpace {
// Magnetic vector potential a (b = curl a)
{ Name Hcurl_a_Mag_2D; Type Form1P;
BasisFunction {
// a = a s
//
e e
{ Name se; NameOfCoef ae; Function BF_PerpendicularEdge;
Support Domain_Mag; Entity NodesOf[ All ]; }
}
Constraint {
{ NameOfCoef ae; EntityType NodesOf;
NameOfConstraint MagneticVectorPotential_2D; }
}
}
// Gradient of Electric scalar potential (2D)
{ Name Hregion_u_Mag_2D; Type Form1P;
BasisFunction {
{ Name sr; NameOfCoef ur; Function BF_RegionZ;
Support DomainC_Mag; Entity DomainC_Mag; }
}
GlobalQuantity {
(s)
Formulation {
{ Name Magnetodynamics_av_2D; Type FemEquation;
Quantity {
{ Name a ; Type Local ; NameOfSpace Hcurl_a_Mag_2D; }
{ Name ur; Type Local ; NameOfSpace Hregion_u_Mag_2D; }
{ Name I ; Type Global; NameOfSpace Hregion_u_Mag_2D [I]; }
{ Name U ; Type Global; NameOfSpace Hregion_u_Mag_2D [U]; }
{ Name js; Type Local ; NameOfSpace Hregion_j_Mag_2D; }
}
Equation {
Galerkin { [ nu[] * Dof{d a} , {d a} ]; In Domain_Mag;
Jacobian Vol; Integration CurlCurl; }
Galerkin { DtDof [ sigma[] * Dof{a} , {a} ]; In DomainC_Mag;
Jacobian Vol; Integration CurlCurl; }
Galerkin { [ sigma[] * Dof{ur} , {a} ]; In DomainC_Mag;
Jacobian Vol; Integration CurlCurl; }
Galerkin { [ - sigma[] * (Velocity[] *^ Dof{d a}) , {a} ];
In DomainV_Mag;
Jacobian Vol; Integration CurlCurl; }
99
100
GetDP 2.4
Resolution {
{ Name MagDyn_av_2D;
System {
{ Name Sys_Mag; NameOfFormulation Magnetodynamics_av_2D;
Type ComplexValue; Frequency Freq; }
}
Operation {
Generate[Sys_Mag]; Solve[Sys_Mag]; SaveSolution[Sys_Mag];
}
}
{ Name MagDyn_t_av_2D;
System {
{ Name Sys_Mag; NameOfFormulation Magnetodynamics_av_2D; }
}
Operation {
InitSolution[Sys_Mag]; SaveSolution[Sys_Mag];
TimeLoopTheta[Mag_Time0, Mag_TimeMax, Mag_DTime, Mag_Theta] {
Generate[Sys_Mag]; Solve[Sys_Mag]; SaveSolution[Sys_Mag];
}
}
}
}
PostProcessing {
{ Name MagDyn_av_2D; NameOfFormulation Magnetodynamics_av_2D;
Quantity {
{ Name a;
Value {
Local { [ {a} ]; In Domain_Mag; Jacobian Vol; }
}
}
{ Name az;
Value {
Local {
}
}
{ Name b;
Value {
Local {
}
}
{ Name h;
Value {
Local {
}
}
{ Name j;
Value {
Local {
[ - sigma[]*(Dt[{a}]+{ur}) ]; In DomainC_Mag;
Jacobian Vol; }
}
}
{ Name jz;
Value {
Local { [ - sigma[]*CompZ[Dt[{a}]+{ur}] ]; In DomainC_Mag;
Jacobian Vol; }
}
}
{ Name roj2;
Value {
Local { [ sigma[]*SquNorm[Dt[{a}]+{ur}] ]; In DomainC_Mag;
Jacobian Vol; }
}
}
{ Name U; Value { Local { [ {U} ]; In DomainC_Mag; } } }
{ Name I; Value { Local { [ {I} ]; In DomainC_Mag; } } }
}
}
}
101
103
15
Point (1 node).
GetDP can also read more recent versions of the msh format (2.0 and above). See the
Gmsh documentation for more information about these formats.
104
GetDP 2.4
105
1.1 file-res-format
$EndResFormat
$Solution /* DofData #dofdata-number */
dofdata-number time-value time-imag-value time-step-number
solution-value
...
$EndSolution
...
Notes:
1. A $Solution field contains the solution associated with a $DofData field.
2. There is one $Solution field for each time step, of which the time is time-value (0 for
non time dependent or non modal analyses) and the imaginary time is time-imag-value
(0 for non time dependent or non modal analyses).
3. The order of the solution-values in a $Solution field follows the numbering of the
equations given in the .pre file (one floating point value for each degree of freedom).
107
=
=
=
=
=
=
=
=
=
{
{
{
{
{
{
{
{
{
0
,
xBox,
xBox,
0
,
w/2.,
0
,
w/2.,
0
,
xBox,
0, 0, p0} ;
0, 0, pxBox} ;
h, 0, pxBox} ;
h, 0, pLine0} ;
h, 0, pLine1} ;
h+t, 0, pLine0}
h+t, 0, pLine1}
yBox, 0, pyBox}
yBox, 0, pyBox}
;
;
;
;
Line(2) = {2,3};
Line(5) = {8,6};
Line(9) = {4,5};
Line(3) = {3,9};
Line(7) = {4,1};
Line(10) = {6,7};
108
GetDP 2.4
Line(11) = {5,7};
/* Definition of geometrical surfaces */
Line Loop(12) = {8,-2,-1,-7,9};
Plane Surface(13) = {12};
Line Loop(14) = {10,-11,8,3,4,5}; Plane Surface(15) = {14};
/* Definition of Physical entities (surfaces, lines). The Physical
entities tell GMSH the elements and their associated region numbers
to save in the file mStrip.msh. For example, the Region
111 is made of elements of surface 13, while the Region 121 is
made of elements of lines 9, 10 and 11 */
Physical Surface (101) = {15} ;
Physical Surface (111) = {13} ;
/* Air */
/* Diel1 */
50.e-3;
= 1.;
= 12.e-3 *s;
= 4.e-3 *s; pCorey0 = 8.e-3 *s; pCorey
= 5.e-3 *s; pIndy
= 5.e-3 *s;
= 12.5e-3*s; pExt
= 12.5e-3*s;
Point(1) = {0,0,0,p0};
Point(2) = {dxCore,0,0,pCorex};
Point(3) = {dxCore,dyCore,0,pCorey};
Point(4) = {0,dyCore,0,pCorey0};
Point(5) = {xInd,0,0,pIndx};
Point(6) = {xInd+dxInd,0,0,pIndx};
Point(7) = {xInd+dxInd,dyInd,0,pIndy};
Point(8) = {xInd,dyInd,0,pIndy};
Point(9) = {rInt,0,0,pInt};
Point(10) = {rExt,0,0,pExt};
4.e-3 *s;
109
Point(11) = {0,rInt,0,pInt};
Point(12) = {0,rExt,0,pExt};
Line(1) = {1,2};
Line(4) = {6,9};
Line(7) = {4,11};
Line(10) = {3,4};
Line(13) = {8,5};
Line(2) = {2,5};
Line(5) = {9,10};
Line(8) = {11,12};
Line(11) = {6,7};
Circle(14) = {9,1,11};
Line
Line
Line
Line
Loop(16)
Loop(18)
Loop(20)
Loop(22)
=
=
=
=
Line(3) = {5,6};
Line(6) = {1,4};
Line(9) = {2,3};
Line(12) = {7,8};
Circle(15) = {10,1,12};
{-6,1,9,10};
{11,12,13,3};
{7,-14,-4,11,12,13,-2,9,10};
{8,-15,-5,14};
Physical
Physical
Physical
Physical
Surface(101)
Surface(102)
Surface(103)
Surface(111)
=
=
=
=
Physical
Physical
Physical
Physical
Physical
Physical
Physical
Line(1000)
Line(1001)
Line(202)
Line(203)
Line(1100)
Line(1101)
Line(1102)
{1,2};
{2};
{9,10};
{11,12,13};
{1,2,3,4,5};
{6,7,8};
{15};
=
=
=
=
=
=
=
{21};
{17};
{19};
{23};
/*
/*
/*
/*
Plane
Plane
Plane
Plane
Surface(17)
Surface(19)
Surface(21)
Surface(23)
Air */
Core */
Ind */
AirInf */
/*
/*
/*
/*
/*
/*
/*
Cut */
CutAir */
SkinCore */
SkinInd */
SurfaceGh0 */
SurfaceGe0 */
SurfaceGInf */
=
=
=
=
{16};
{18};
{20};
{22};
111
112
GetDP 2.4
ENABLE_MPI
Enable MPI parallelization (with PETSc/SLEPc) (default: OFF)
ENABLE_NR
Enable NR functions (if GSL is unavailable) (default: ON)
ENABLE_NX
Enable proprietary NX extension (default: OFF)
ENABLE_OPENMP
Enable OpenMP parallelization of some functions (experimental) (default:
OFF)
ENABLE_PETSC
Enable PETSc linear solver (default: ON)
ENABLE_SLEPC
Enable SLEPc eigensolver (default: ON)
ENABLE_SPARSKIT
Enable Sparskit solver instead of PETSc (requires Fortran) (default: ON)
ENABLE_ZITSOL
Enable Zitsol solvers (requires PETSc and Fortran) (default: OFF)
113
D.2 Installation
1. Which OSes does GetDP run on?
Gmsh runs on Windows, MacOS X, Linux and most Unix variants.
2. What do I need to compile GetDP from the sources?
You need a C++ and a Fortran compiler as well as the GSL (version 1.2 or higher; freely
available from http://sources.redhat.com/gsl).
3. How do I compile GetDP?
You need cmake (http://www.cmake.org) and a C++ compiler (and a Fortran compiler
depending on the modules/solvers you want to compile). See Appendix C [Compiling
the source code], page 111 and the README.txt file in the top-level source directory
for more information.
4. GetDP [from a binary distribution] complains about missing libraries.
Try ldd getdp (or otool -L getdp on MacOS X) to check if all the required shared
libraries are installed on your system. If not, install them. If it still doesnt work,
recompile GetDP from the sources.
D.3 Usage
1. How can I provide a mesh to GetDP?
The only meshing format accepted by this version of GetDP is the msh format created by Gmsh http://geuz.org/gmsh. This format being very simple (see the Gmsh
114
GetDP 2.4
115
117
118
GetDP 2.4
119
0.82: Added communication socket for interactive use with Gmsh; corrected
(again) memory problem (leak + seg. fault) in time stepping schemes; corrected
bug in Update[].
0.81: Generalization of transformation jacobians (spherical and rectangular,
with optional parameters); changed handling of missing command line arguments;
enhanced Print OnCut; fixed memory leak for time domain analysis of coupled
problems; -name option; fixed seg. fault in ILUK.
0.80: Fixed computation of time derivatives on first time step (in
post-processing); added tolerance in transformation jacobians; fixed parsing of
DOS files (carriage return problems); automatic memory reallocation in
ILUD/ILUK.
0.79: Various bug fixes (mainly for the post-processing of intergal quantities);
automatic treatment of degenerated cases in axisymmetrical problems.
0.78: Various bug fixes.
0.77: Changed syntax for PostOperations (Plot suppressed in favour of Print;
Plot OnRegion becomes Print OnElementsOf); changed table oriented
post-processing formats; new binary formats; new error diagnostics.
0.76: Reorganized high order shape functions; optimization of the
post-processing (faster and less bloated); lots of internal cleanups.
0.74: High order shape functions; lots of small bug fixes.
0.73: Eigen value problems (Lanczos); minor corrections.
0.7: constraint syntax; fourier transform; unary minus correction; complex
integral quantity correction; separate iteration matrix generation.
0.6: Second order time derivatives; Newton nonlinear scheme; Newmark time
stepping scheme; global quantity syntax; interactive post-processing; tensors;
integral quantities; post-processing facilities.
0.3: First distributed version.
121
Appendix H: License
123
Appendix H License
GetDP is provided under the terms of the GNU General Public License
(GPL), Version 2 or later.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundations software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
124
GetDP 2.4
Also, for each authors protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyones free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Programs
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
Appendix H: License
125
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that
whole or in part contains or is
part thereof, to be licensed as
parties under the terms of this
126
GetDP 2.4
Appendix H: License
127
128
GetDP 2.4
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
Appendix H: License
129
program. It is safest
to most effectively
should have at least
full notice is found.
<one line to give the programs name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type show w.
This is free software, and you are welcome to redistribute it
under certain conditions; type show c for details.
The hypothetical commands show w and show c should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than show w and show c; they could even be
mouse-clicks or menu items--whatever suits your program.
130
GetDP 2.4
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
Gnomovision (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
Concept index
131
Concept index
.
.msh file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
.pre file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
.res file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Analytical integration . . . . . . . . . . . . . . . . . . . . . . . . . 33
Approximation spaces . . . . . . . . . . . . . . . . . . . . . . . . . 30
Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Arguments, definition . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Authors, e-mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Axisymmetric, transformation . . . . . . . . . . . . . . . . . 32
B
Basis Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Binary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Boundary Element Method . . . . . . . . . . . . . . . . . . . . . 6
Bugs, reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Built-in functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
C
Change of coordinates . . . . . . . . . . . . . . . . . . . . . . . . . 32
Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Circuit equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Command line options . . . . . . . . . . . . . . . . . . . . . . . . . 11
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Complete examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Complex-valued, system . . . . . . . . . . . . . . . . . . . . . . . 35
Concepts, index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Constant, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Constant, evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Constraint, definition . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Constraint, examples . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Constraint, types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Contact information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Contributors, list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Coordinate change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 121
Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Curl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Current values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
D
Dependences, objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Derivative, exterior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Derivative, time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Developments, future . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Differential operators . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Discrete function spaces . . . . . . . . . . . . . . . . . . . . . . . 30
Discrete quantities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Discretized Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Divergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Document syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 3
E
E-mail, authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Edge element space, example . . . . . . . . . . . . . . . . . . 76
Efficiency, tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Electromagnetism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Electrostatic formulation . . . . . . . . . . . . . . . . . . . . . . 75
Elementary matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Entities, topological . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Evaluation mechanism . . . . . . . . . . . . . . . . . . . . . . . . . 16
Evaluation, order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Examples, complete . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Examples, short . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Exporting results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Expression, definition . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Exterior derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
F
FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
File, .msh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
File, .pre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
File, .res . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
File, comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
File, include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
File, mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
File, pre-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
File, result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Finite Difference Method . . . . . . . . . . . . . . . . . . . . . . . 6
Finite Element Method . . . . . . . . . . . . . . . . . . . . . . . . . 6
Finite Volume Method . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Floating point numbers . . . . . . . . . . . . . . . . . . . . . . . . 16
Floating potential, example . . . . . . . . . . . . . . . . . . . . 75
Format, output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Formulation, definition . . . . . . . . . . . . . . . . . . . . . . . . 34
Formulation, electrostatics . . . . . . . . . . . . . . . . . . . . . 75
Formulation, examples . . . . . . . . . . . . . . . . . . . . . . . . . 75
Formulation, types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Frequently asked questions . . . . . . . . . . . . . . . . . . . 113
Function groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Function space, definition . . . . . . . . . . . . . . . . . . . . . . 30
Function space, examples . . . . . . . . . . . . . . . . . . . . . . 69
Function space, types . . . . . . . . . . . . . . . . . . . . . . . . . . 51
132
GetDP 2.4
Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Mailing list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 7
Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Matrices, elementary . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Mesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Mesh, examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Mesh, file format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Metasyntactic variables, index . . . . . . . . . . . . . . . . 135
Method of Moments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Gauss, integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Geometric transformations . . . . . . . . . . . . . . . . . . . . . 32
Global quantity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Global quantity, example . . . . . . . . . . . . . . . . . . . . . . 75
Gmsh, examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Gmsh, file format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Group, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Group, examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Group, types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
H
Hierarchical basis functions . . . . . . . . . . . . . . . . . . . . 30
History, versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
I
Includes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Index, concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Index, metasyntactic variables . . . . . . . . . . . . . . . . 135
Index, syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Input file format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Integer numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Integral Equation Method . . . . . . . . . . . . . . . . . . . . . . 6
Integral quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Integration, definition. . . . . . . . . . . . . . . . . . . . . . . . . . 33
Integration, examples . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Integration, types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Internet address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 3
Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 30
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Iterative loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
J
Jacobian, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Jacobian, examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Jacobian, types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
K
Keywords, index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
L
License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3, 123
Linear system solving . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Linking, objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Local quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
N
Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Newmark, time scheme . . . . . . . . . . . . . . . . . . . . . . . .
Newton, nonlinear scheme . . . . . . . . . . . . . . . . . . . . .
Nodal function space, example . . . . . . . . . . . . . . . . .
Nonlinear system solving . . . . . . . . . . . . . . . . . . . . . .
Numbers, integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numbers, real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numerical integration. . . . . . . . . . . . . . . . . . . . . . . . . .
29
35
35
75
35
16
16
33
O
Objects, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Objects, dependences . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Objects, types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Operating system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Operation, priorities . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Operators, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Operators, differential . . . . . . . . . . . . . . . . . . . . . . . . . 23
Options, command line . . . . . . . . . . . . . . . . . . . . . . . . 11
Order of evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Output file format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
P
Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Philosophy, general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Physical problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Picard, nonlinear scheme . . . . . . . . . . . . . . . . . . . . . . 35
Piecewise functions . . . . . . . . . . . . . . . . . . . . . . . . 21, 28
Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Post-operation, definition . . . . . . . . . . . . . . . . . . . . . . 38
Post-operation, examples . . . . . . . . . . . . . . . . . . . . . . 80
Post-operation, types . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Post-processing, definition . . . . . . . . . . . . . . . . . . . . . 37
Post-processing, examples. . . . . . . . . . . . . . . . . . . . . . 79
Post-processing, types . . . . . . . . . . . . . . . . . . . . . . . . . 61
Priorities, operations . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Processing cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Concept index
Q
Quantities, discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Quantity, global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Quantity, integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Quantity, local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Quantity, post-processing . . . . . . . . . . . . . . . . . . . . . . 37
Questions, frequently asked . . . . . . . . . . . . . . . . . . . 113
R
Reading, guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Real numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Region groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Registers, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Relaxation factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Reporting bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Resolution, definition . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Resolution, examples . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Resolution, types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Results, exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Results, export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Rules, syntactic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Running GetDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
133
Syntax, rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
System, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
T
Ternary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Thermics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Theta, time scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Time derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Time stepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Time, discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Tips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Tools, order of definition . . . . . . . . . . . . . . . . . . . . . . . . 5
Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Transformations, geometric . . . . . . . . . . . . . . . . . . . . 32
Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Types, definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
U
Unary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
User-defined functions . . . . . . . . . . . . . . . . . . . . . . . . . 28
Scope of GetDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Short examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Solving, system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Spaces, discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Symmetry, integral kernel . . . . . . . . . . . . . . . . . . . . . . 34
Syntax, index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Values, current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Variables, index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
W
Web site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 3
Wiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
135
formulation-list . . . . . . . . . . . . . . . . . . . . . . . . . . . .
formulation-type . . . . . . . . . . . . . . . . . . . . . . . . . 34,
function-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
function-space-id . . . . . . . . . . . . . . . . . . . . . . . . . . .
function-space-type . . . . . . . . . . . . . . . . . . . . . 30,
35
54
28
30
51
:............................................... 9
<
<, > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
|............................................... 9
A
affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
B
basis-function-id . . . . . . . . . . . . . . . . . . . . . . . . . . .
basis-function-list . . . . . . . . . . . . . . . . . . . . . . . . .
basis-function-type . . . . . . . . . . . . . . . . . . . . . 30,
built-in-function-id . . . . . . . . . . . . . . . . . . . . . . . .
30
30
51
21
30
51
45
27
27
27
27
27
41
I
integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
integral-value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
integration-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
integration-type . . . . . . . . . . . . . . . . . . . . . . . . . 33,
16
37
33
54
J
jacobian-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
jacobian-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32, 53
C
coef-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
constant-def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
constant-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
constraint-case-id . . . . . . . . . . . . . . . . . . . . . . . . . .
constraint-case-val . . . . . . . . . . . . . . . . . . . . . . . . .
constraint-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
constraint-type . . . . . . . . . . . . . . . . . . . . . . . . . . 29,
constraint-val . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
coord-function-id . . . . . . . . . . . . . . . . . . . . . . . . . . .
global-quantity-id . . . . . . . . . . . . . . . . . . . . . . . . . .
global-quantity-type . . . . . . . . . . . . . . . . . . . . 30,
green-function-id . . . . . . . . . . . . . . . . . . . . . . . . . . .
group-def . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
group-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
group-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
group-list-item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
group-sub-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
group-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27,
30
16
16
29
29
29
50
29
47
E
element-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 54
etc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
expression-char . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
expression-cst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
expression-cst-list . . . . . . . . . . . . . . . . . . . . . . . . . 16
expression-cst-list-item . . . . . . . . . . . . . . . . . . . 16
expression-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
extended-math-function-id . . . . . . . . . . . . . . . . . . 44
F
formulation-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
L
local-term-type . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 54
local-value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
M
math-function-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
misc-function-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
O
operator-binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
operator-ternary-left . . . . . . . . . . . . . . . . . . . . . . .
operator-ternary-right . . . . . . . . . . . . . . . . . . . . . .
operator-unary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
19
19
19
P
post-operation-fmt . . . . . . . . . . . . . . . . . . . . . . 38, 65
post-operation-id . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
post-operation-op . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
136
post-processing-id . . . . . . . . . . . . . . . . . . . . . . . . . .
post-quantity-id . . . . . . . . . . . . . . . . . . . . . . . . . . . .
post-quantity-type . . . . . . . . . . . . . . . . . . . . . . . . . .
post-value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37,
print-option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38,
print-support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38,
GetDP 2.4
37
37
37
61
62
61
register-value-get . . . . . . . . . . . . . . . . . . . . . . . . . .
register-value-set . . . . . . . . . . . . . . . . . . . . . . . . . .
resolution-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
resolution-op . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35,
22
22
35
55
S
Q
quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
quantity-dof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
quantity-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
quantity-operator . . . . . . . . . . . . . . . . . . . . . . . . . . .
quantity-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34,
23
23
23
23
54
R
real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
string-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
sub-space-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
system-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
system-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
16
30
35
35
T
term-op-type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 54
type-function-id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Syntax index
137
Syntax index
!
! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
!= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
-..............................................
-adapt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-cal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-gmshread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-msh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-onelab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-pos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-pre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-res . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-setnumber. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-setstring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-slepc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-solve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-split . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-v2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-verbose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
#
#expression-cst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
#include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
$
$A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$DTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$EigenvalueImag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$EigenvalueReal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$Iteration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$Theta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$TimeStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$XS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$YS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
$ZS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
21
21
21
21
21
22
21
21
21
21
21
21
21
21
21
21
% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
/..............................................
/*, */. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
/\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
&
& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
&& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
19
12
12
12
11
12
12
13
13
11
12
13
12
13
11
11
13
12
12
13
13
12
12
12
12
13
12
13
13
19
15
15
19
<
< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
<= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
=
*
* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
+
+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16, 27, 28
== . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
>
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
>= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
138
GetDP 2.4
?
?: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
^
^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
|
| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
|| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
~
~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
0
0D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1
1D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2
2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3
3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
A
Acos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adapt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adaptation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AliasOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
All . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analytic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AppendTimeStepToFileName . . . . . . . . . . . . . . . . . . .
Apply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Asin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Assign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AssignFromResolution . . . . . . . . . . . . . . . . . . . . . . . .
AssociatedWith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Atan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Atan2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
64
66
52
32
33
63
56
42
50
50
52
43
43
B
BasisFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_CurlEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_CurlGroupOfEdges . . . . . . . . . . . . . . . . . . . . . . . . .
BF_CurlGroupOfPerpendicularEdge . . . . . . . . . . .
BF_CurlPerpendicularEdge . . . . . . . . . . . . . . . . . . .
BF_dGlobal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
23
51
51
52
52
52
BF_DivFacet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_DivPerpendicularFacet . . . . . . . . . . . . . . . . . . .
BF_Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_Facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_GradGroupOfNodes . . . . . . . . . . . . . . . . . . . . . . . . .
BF_GradNode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_GroupOfEdges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_GroupOfNodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_GroupOfPerpendicularEdge . . . . . . . . . . . . . . . .
BF_Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_NodeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_NodeY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_NodeZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_PerpendicularEdge . . . . . . . . . . . . . . . . . . . . . . . .
BF_PerpendicularFacet . . . . . . . . . . . . . . . . . . . . . . .
BF_Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_RegionX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_RegionY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_RegionZ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BF_Zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
52
51
51
52
51
51
51
51
52
51
52
52
52
52
51
52
52
52
52
52
51
52
58
C
Cart2Cyl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cart2Pol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cart2Sph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 32,
Ceil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ChangeOfCoordinates . . . . . . . . . . . . . . . . . . . . . . . . .
ChangeOfValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Complex_MH. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ComplexScalarField . . . . . . . . . . . . . . . . . . . . . . . . . .
ComplexTensorField . . . . . . . . . . . . . . . . . . . . . . . . . .
ComplexVectorField . . . . . . . . . . . . . . . . . . . . . . . . . .
CompX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompXY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompXZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompYX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompYY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompZX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompZY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompZZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29,
Cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CreateDir | CreateDirectory . . . . . . . . . . . . . . . . .
Criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
46
47
33
43
64
64
63
45
45
50
50
50
46
46
46
46
46
46
46
47
46
47
47
47
46
30
42
43
61
33
Syntax index
139
Cross . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Curl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
D
d..............................................
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DecomposeInSimplex . . . . . . . . . . . . . . . . . . . . . . . . . .
DefineConstant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DefineFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DefineGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DeleteFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
deRham . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DestinationSystem. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Det . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
dFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
dInterpolationAkima . . . . . . . . . . . . . . . . . . . . . . . . .
dInterpolationBilinear . . . . . . . . . . . . . . . . . . . . . .
dInterpolationLinear . . . . . . . . . . . . . . . . . . . . . . . .
Div . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
dJn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DtDof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DtDofJacNL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DtDt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DtDtDof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DualEdgesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DualFacetsOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DualNodesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DualVolumesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
dYn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
24
24
64
16
28
27
61
62
54
35
44
30
63
49
49
48
24
43
23
55
55
55
55
55
42
42
42
42
43
E
EdgesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
EdgesOfTreeIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
EigenSolve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
EigenvalueLegend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
ElementsOf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
ElementVol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
ENABLE_ARPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_BLAS_LAPACK . . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_BUILD_ANDROID . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_BUILD_LIB. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_BUILD_SHARED . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_CONTRIB_ARPACK . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_FORTRAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_GMSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_GSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_LEGACY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
ENABLE_MPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ENABLE_NR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ENABLE_NX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ENABLE_OPENMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ENABLE_PETSC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ENABLE_SLEPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ENABLE_SPARSKIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
ENABLE_ZITSOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
EndFor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
EndIf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
EntitySubType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
EntityType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Evaluate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Exp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
F
F_CompElementNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F_Cos_wt_p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F_Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F_Sin_wt_p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FacetsOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FacetsOfTreeIn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FemEquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
For ( expression-cst : expression-cst ) . . . .
For ( expression-cst : expression-cst :
expression-cst ) . . . . . . . . . . . . . . . . . . . . . . . .
For string In { expression-cst :
expression-cst : expression-cst } . . . . .
For string In { expression-cst :
expression-cst } . . . . . . . . . . . . . . . . . . . . . . . .
Form0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Form1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Form1P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Form2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Form2P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Form3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38,
Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30,
FourierTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35,
FrequencyLegend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28,
FunctionSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
44
45
44
43
41
42
54
49
62
43
43
25
25
25
25
51
51
51
51
51
51
63
34
58
63
65
30
30
G
Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GaussLegendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GenerateGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GenerateJac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GenerateOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GenerateOnlyJac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
54
54
55
56
55
56
56
140
GenerateRHSGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GenerateSeparate . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GeoElement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetVolume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41,
GlobalEquation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GlobalQuantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GlobalTerm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gmsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GmshParsed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GmshRead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GmshWrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gnuplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GradHelmholtz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GradLaplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27,
GroupOfRegionsOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GroupsOfEdgesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GroupsOfEdgesOnNodesOf . . . . . . . . . . . . . . . . . . . . . .
GroupsOfNodesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetDP 2.4
56
55
33
48
54
34
30
34
65
65
60
61
66
24
45
45
30
41
41
41
41
H
HarmonicToTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Helmholtz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hexahedron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hypot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
45
54
44
I
If ( expression-cst ) . . . . . . . . . . . . . . . . . . . . . . . .
Im . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34,
Include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IndexOfSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
InitFromResolution . . . . . . . . . . . . . . . . . . . . . . . . . .
InitSolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
InitSolution1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 55,
Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 34,
InterpolationAkima . . . . . . . . . . . . . . . . . . . . . . . . . .
InterpolationBilinear . . . . . . . . . . . . . . . . . . . . . . .
InterpolationLinear . . . . . . . . . . . . . . . . . . . . . . . . .
Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Iso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IterativeLoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IterativeLoopN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
45
37
15
34
50
50
56
56
61
37
49
49
48
45
44
64
59
60
J
JacNL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32, 34, 37
Jn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
L
Lanczos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LastTimeStepOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LinkCplx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ListAlt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 54,
Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Log10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
45
63
53
54
50
51
16
16
61
42
42
34
N
Name . . . . . . . . . . . . . 29, 30, 32, 33, 34, 35, 37, 38,
NameOfBasisFunction . . . . . . . . . . . . . . . . . . . . . . . . .
NameOfCoef. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NameOfConstraint . . . . . . . . . . . . . . . . . . . . . . . . . 30,
NameOfFormulation . . . . . . . . . . . . . . . . . . . . . . . . 35,
NameOfMesh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NameOfPostProcessing . . . . . . . . . . . . . . . . . . . . . . . .
NameOfSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NameOfSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34,
NeverDt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NodesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NodeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NoMesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NoNewLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Norm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NormalSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NumberOfPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
30
30
34
37
35
38
34
37
50
55
34
41
66
63
64
44
48
48
33
O
OnBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnElementsOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnGlobal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnPlane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OnSection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35,
Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OriginSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OverrideTimeStepValue . . . . . . . . . . . . . . . . . . . . . . .
62
61
61
61
62
62
62
61
61
38
49
35
63
P
Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Syntax index
PostOperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38,
PostProcessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38,
Printf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pyramid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
141
60
37
58
48
54
54
Q
Quadrangle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Quantity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 34, 37
R
Rand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Re . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 32,
Residual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30,
Rot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
45
41
57
35
24
44
S
SaveSolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SaveSolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ScalarField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SendToServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetFrequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetRHSAsSolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetSolutionAsRHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sign . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SimpleTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sinh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Skin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SolveAgain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SolveJac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SquDyadicProduct . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SquNorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
StoreInField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
StoreInMeshBasedField . . . . . . . . . . . . . . . . . . . . . . .
StoreInRegister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMaxInRegister . . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMaxXinRegister . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMaxYinRegister . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMaxZinRegister . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMinInRegister . . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMinXinRegister . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMinYinRegister . . . . . . . . . . . . . . . . . . . . . . . . .
StoreMinZinRegister . . . . . . . . . . . . . . . . . . . . . . . . .
57
57
51
49
63
57
57
56
57
43
66
42
43
63
63
55
55
55
35
64
42
46
44
65
65
64
64
65
65
65
64
65
65
65
SubRegion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SubSpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SurAxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SurfaceArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SystemCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
30
30
53
53
48
34
35
57
T
Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tangent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TangentSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TanhC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TensorDiag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TensorField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TensorSym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TensorV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tetrahedron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeLegend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeLoopAdaptive . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeLoopNewmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeLoopTheta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TransferInitSolution . . . . . . . . . . . . . . . . . . . . . . . .
TransferSolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 30, 33, 34,
65
42
48
48
43
43
64
46
46
49
46
46
57
54
29
65
59
59
58
63
66
57
57
44
54
44
35
U
Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UnitVectorX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UnitVectorY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UnitVectorZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UpdateConstraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UsingPost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
47
47
47
56
56
38
V
Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37,
Vector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46,
VectorField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VolAxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VolAxiRectShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
51
49
53
53
53
142
VolAxiSphShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VolAxiSqu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VolAxiSquRectShell . . . . . . . . . . . . . . . . . . . . . . . . . .
VolAxiSquSphShell. . . . . . . . . . . . . . . . . . . . . . . . . . . .
VolRectShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VolSphShell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VolumesOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetDP 2.4
53
53
53
53
53
53
41
XYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Y
Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Yn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47