@c This file was generated by "gmsh -doc": do not edit manually!

@ftable @code
@item Attractor
Compute the distance from the nearest node in a list. It can also be used to compute the distance from curves, in which case each curve is replaced by NNodesByEdge equidistant nodes and the distance from those nodes is computed.@*
Options:@*
@table @code
@item EdgesList
Indices of curves in the geometric model@*
type: list@*
default value: @code{@{@}}
@item FacesList
Indices of surfaces in the geometric model (Warning, this feature is still experimental. It might (read: will probably) give wrong results for complex surfaces)@*
type: list@*
default value: @code{@{@}}
@item FieldX
Id of the field to use as x coordinate.@*
type: integer@*
default value: @code{-1}
@item FieldY
Id of the field to use as y coordinate.@*
type: integer@*
default value: @code{-1}
@item FieldZ
Id of the field to use as z coordinate.@*
type: integer@*
default value: @code{-1}
@item NNodesByEdge
Number of nodes used to discretized each curve@*
type: integer@*
default value: @code{20}
@item NodesList
Indices of nodes in the geometric model@*
type: list@*
default value: @code{@{@}}
@end table

@item AttractorAnisoCurve
Compute the distance from the nearest curve in a list. Then the mesh size can be specified independently in the direction normal to the curve and in the direction parallel to the curve (Each curve is replaced by NNodesByEdge equidistant nodes and the distance from those nodes is computed.)@*
Options:@*
@table @code
@item EdgesList
Indices of curves in the geometric model@*
type: list@*
default value: @code{@{@}}
@item NNodesByEdge
Number of nodes used to discretized each curve@*
type: integer@*
default value: @code{20}
@item dMax
Maxmium distance, above this distance from the curves, prescribe the maximum mesh sizes.@*
type: float@*
default value: @code{0.5}
@item dMin
Minimum distance, below this distance from the curves, prescribe the minimum mesh sizes.@*
type: float@*
default value: @code{0.1}
@item lMaxNormal
Maximum mesh size in the direction normal to the closest curve.@*
type: float@*
default value: @code{0.5}
@item lMaxTangent
Maximum mesh size in the direction tangeant to the closest curve.@*
type: float@*
default value: @code{0.5}
@item lMinNormal
Minimum mesh size in the direction normal to the closest curve.@*
type: float@*
default value: @code{0.05}
@item lMinTangent
Minimum mesh size in the direction tangeant to the closest curve.@*
type: float@*
default value: @code{0.5}
@end table

@item Ball
The value of this field is VIn inside a spherical ball, VOut outside. The ball is defined by@*
@*
  ||dX||^2 < R^2 &&@*
  dX = (X - XC)^2 + (Y-YC)^2 + (Z-ZC)^2@*
Options:@*
@table @code
@item Radius
Radius@*
type: float@*
default value: @code{0}
@item VIn
Value inside the ball@*
type: float@*
default value: @code{0}
@item VOut
Value outside the ball@*
type: float@*
default value: @code{0}
@item XCenter
X coordinate of the ball center@*
type: float@*
default value: @code{0}
@item YCenter
Y coordinate of the ball center@*
type: float@*
default value: @code{0}
@item ZCenter
Z coordinate of the ball center@*
type: float@*
default value: @code{0}
@end table

@item BoundaryLayer
hwall * ratio^(dist/hwall)@*
Options:@*
@table @code
@item AnisoMax
Threshold angle for creating a mesh fan in the boundary layer@*
type: float@*
default value: @code{10000000000}
@item EdgesList
Indices of curves in the geometric model for which a boundary layer is needed@*
type: list@*
default value: @code{@{@}}
@item FanNodesList
Indices of vertices in the geometric model for which a fan is created@*
type: list@*
default value: @code{@{@}}
@item IntersectMetrics
Intersect metrics of all faces@*
type: integer@*
default value: @code{0}
@item NodesList
Indices of vertices in the geometric model for which a BL ends@*
type: list@*
default value: @code{@{@}}
@item Quads
Generate recombined elements in the boundary layer@*
type: integer@*
default value: @code{0}
@item hfar
Element size far from the wall@*
type: float@*
default value: @code{1}
@item hwall_n
Mesh Size Normal to the The Wall@*
type: float@*
default value: @code{0.1}
@item hwall_n_nodes
Mesh Size Normal to the The Wall at nodes (overwrite hwall_n when defined)@*
type: list_double@*
default value: @code{@{@}}
@item ratio
Size Ratio Between Two Successive Layers@*
type: float@*
default value: @code{1.1}
@item thickness
Maximal thickness of the boundary layer@*
type: float@*
default value: @code{0.01}
@end table

@item Box
The value of this field is VIn inside the box, VOut outside the box. The box is given by@*
@*
  Xmin <= x <= XMax &&@*
  YMin <= y <= YMax &&@*
  ZMin <= z <= ZMax@*
Options:@*
@table @code
@item VIn
Value inside the box@*
type: float@*
default value: @code{0}
@item VOut
Value outside the box@*
type: float@*
default value: @code{0}
@item XMax
Maximum X coordinate of the box@*
type: float@*
default value: @code{0}
@item XMin
Minimum X coordinate of the box@*
type: float@*
default value: @code{0}
@item YMax
Maximum Y coordinate of the box@*
type: float@*
default value: @code{0}
@item YMin
Minimum Y coordinate of the box@*
type: float@*
default value: @code{0}
@item ZMax
Maximum Z coordinate of the box@*
type: float@*
default value: @code{0}
@item ZMin
Minimum Z coordinate of the box@*
type: float@*
default value: @code{0}
@end table

@item Curvature
Compute the curvature of Field[IField]:@*
@*
  F = div(norm(grad(Field[IField])))@*
Options:@*
@table @code
@item Delta
Step of the finite differences@*
type: float@*
default value: @code{0}
@item IField
Field index@*
type: integer@*
default value: @code{1}
@end table

@item Cylinder
The value of this field is VIn inside a frustrated cylinder, VOut outside. The cylinder is given by@*
@*
  ||dX||^2 < R^2 &&@*
  (X-X0).A < ||A||^2@*
  dX = (X - X0) - ((X - X0).A)/(||A||^2) . A@*
Options:@*
@table @code
@item Radius
Radius@*
type: float@*
default value: @code{0}
@item VIn
Value inside the cylinder@*
type: float@*
default value: @code{0}
@item VOut
Value outside the cylinder@*
type: float@*
default value: @code{0}
@item XAxis
X component of the cylinder axis@*
type: float@*
default value: @code{0}
@item XCenter
X coordinate of the cylinder center@*
type: float@*
default value: @code{0}
@item YAxis
Y component of the cylinder axis@*
type: float@*
default value: @code{0}
@item YCenter
Y coordinate of the cylinder center@*
type: float@*
default value: @code{0}
@item ZAxis
Z component of the cylinder axis@*
type: float@*
default value: @code{1}
@item ZCenter
Z coordinate of the cylinder center@*
type: float@*
default value: @code{0}
@end table

@item Distance
Compute the distance from the nearest node in a list. It can also be used to compute the distance from curves, in which case each curve is replaced by NNodesByEdge equidistant nodes and the distance from those nodes is computed.@*
Options:@*
@table @code
@item EdgesList
Indices of curves in the geometric model@*
type: list@*
default value: @code{@{@}}
@item FacesList
Indices of surfaces in the geometric model (Warning, this feature is still experimental. It might (read: will probably) give wrong results for complex surfaces)@*
type: list@*
default value: @code{@{@}}
@item FieldX
Id of the field to use as x coordinate.@*
type: integer@*
default value: @code{-1}
@item FieldY
Id of the field to use as y coordinate.@*
type: integer@*
default value: @code{-1}
@item FieldZ
Id of the field to use as z coordinate.@*
type: integer@*
default value: @code{-1}
@item NNodesByEdge
Number of nodes used to discretized each curve@*
type: integer@*
default value: @code{20}
@item NodesList
Indices of nodes in the geometric model@*
type: list@*
default value: @code{@{@}}
@end table

@item ExternalProcess
**This Field is experimental**@*
Call an external process that received coordinates triple (x,y,z) as binary double precision numbers on stdin and is supposed to write the field value on stdout as a binary double precision number.@*
NaN,NaN,NaN is sent as coordinate to indicate the end of the process.@*
@*
Example of client (python2):@*
import os@*
import struct@*
import math@*
import sys@*
if sys.platform == "win32" :@*
import msvcrt@*
msvcrt.setmode(0, os.O_BINARY)@*
msvcrt.setmode(1, os.O_BINARY)@*
while(True):@*
____xyz = struct.unpack("ddd", os.read(0,24))@*
____if math.isnan(xyz[0]):@*
_________break@*
____f = 0.001 + xyz[1]*0.009@*
____os.write(1,struct.pack("d",f))@*
@*
Example of client (python3):@*
import struct@*
import sys@*
import math@*
while(True):@*
____xyz = struct.unpack("ddd", sys.stdin.buffer.read(24))@*
____if math.isnan(xyz[0]):@*
________break@*
____f = 0.001 + xyz[1]*0.009@*
____sys.stdout.buffer.write(struct.pack("d",f))@*
____sys.stdout.flush()@*
@*
Example of client (c, unix):@*
#include <unistd.h>@*
int main(int argc, char **argv) @{@*
__double xyz[3];@*
__while(read(STDIN_FILENO, &xyz, 3*sizeof(double)) == 3*sizeof(double)) @{@*
____if (xyz[0] != xyz[0]) break; //nan@*
____double f = 0.001 + 0.009 * xyz[1];@*
____write(STDOUT_FILENO, &f, sizeof(double));@*
__@}@*
__return 0;@*
@}@*
@*
Example of client (c, windows):@*
#include <stdio.h>@*
#include <io.h>@*
#include <fcntl.h>@*
int main(int argc, char **argv) @{@*
__double xyz[3];@*
__setmode(fileno(stdin),O_BINARY);@*
__setmode(fileno(stdout),O_BINARY);@*
__while(read(fileno(stdin), &xyz, 3*sizeof(double)) == 3*sizeof(double)) @{@*
____if (xyz[0] != xyz[0])@*
______break;@*
____double f = f = 0.01 + 0.09 * xyz[1];@*
____write(fileno(stdout), &f, sizeof(double));@*
__@}@*
@}@*
@*
Options:@*
@table @code
@item CommandLine
Command line to launch.@*
type: string@*
default value: @code{""}
@end table

@item Frustum
This field is an extended cylinder with inner (i) and outer (o) radiuseson both endpoints (1 and 2). Length scale is bilinearly interpolated betweenthese locations (inner and outer radiuses, endpoints 1 and 2)The field values for a point P are given by :  u = P1P.P1P2/||P1P2||   r = || P1P - u*P1P2 ||   Ri = (1-u)*R1i + u*R2i   Ro = (1-u)*R1o + u*R2o   v = (r-Ri)/(Ro-Ri)  lc = (1-v)*( (1-u)*v1i + u*v2i ) + v*( (1-u)*v1o + u*v2o )    where (u,v) in [0,1]x[0,1]@*
Options:@*
@table @code
@item R1_inner
Inner radius of Frustum at endpoint 1@*
type: float@*
default value: @code{0}
@item R1_outer
Outer radius of Frustum at endpoint 1@*
type: float@*
default value: @code{1}
@item R2_inner
Inner radius of Frustum at endpoint 2@*
type: float@*
default value: @code{0}
@item R2_outer
Outer radius of Frustum at endpoint 2@*
type: float@*
default value: @code{1}
@item V1_inner
Element size at point 1, inner radius@*
type: float@*
default value: @code{0.1}
@item V1_outer
Element size at point 1, outer radius@*
type: float@*
default value: @code{1}
@item V2_inner
Element size at point 2, inner radius@*
type: float@*
default value: @code{0.1}
@item V2_outer
Element size at point 2, outer radius@*
type: float@*
default value: @code{1}
@item X1
X coordinate of endpoint 1@*
type: float@*
default value: @code{0}
@item X2
X coordinate of endpoint 2@*
type: float@*
default value: @code{0}
@item Y1
Y coordinate of endpoint 1@*
type: float@*
default value: @code{0}
@item Y2
Y coordinate of endpoint 2@*
type: float@*
default value: @code{0}
@item Z1
Z coordinate of endpoint 1@*
type: float@*
default value: @code{1}
@item Z2
Z coordinate of endpoint 2@*
type: float@*
default value: @code{1.455171629957881e-152}
@end table

@item Gradient
Compute the finite difference gradient of Field[IField]:@*
@*
  F = (Field[IField](X + Delta/2) -        Field[IField](X - Delta/2)) / Delta@*
Options:@*
@table @code
@item Delta
Finite difference step@*
type: float@*
default value: @code{0}
@item IField
Field index@*
type: integer@*
default value: @code{1}
@item Kind
Component of the gradient to evaluate: 0 for X, 1 for Y, 2 for Z, 3 for the norm@*
type: integer@*
default value: @code{0}
@end table

@item IntersectAniso
Take the intersection of 2 anisotropic fields according to Alauzet.@*
Options:@*
@table @code
@item FieldsList
Field indices@*
type: list@*
default value: @code{@{@}}
@end table

@item Laplacian
Compute finite difference the Laplacian of Field[IField]:@*
@*
  F = G(x+d,y,z) + G(x-d,y,z) +@*
      G(x,y+d,z) + G(x,y-d,z) +@*
      G(x,y,z+d) + G(x,y,z-d) - 6 * G(x,y,z),@*
@*
where G=Field[IField] and d=Delta@*
Options:@*
@table @code
@item Delta
Finite difference step@*
type: float@*
default value: @code{0.1}
@item IField
Field index@*
type: integer@*
default value: @code{1}
@end table

@item LonLat
Evaluate Field[IField] in geographic coordinates (longitude, latitude):@*
@*
  F = Field[IField](atan(y/x), asin(z/sqrt(x^2+y^2+z^2))@*
Options:@*
@table @code
@item FromStereo
if = 1, the mesh is in stereographic coordinates. xi = 2Rx/(R+z),  eta = 2Ry/(R+z)@*
type: integer@*
default value: @code{0}
@item IField
Index of the field to evaluate.@*
type: integer@*
default value: @code{1}
@item RadiusStereo
radius of the sphere of the stereograpic coordinates@*
type: float@*
default value: @code{6371000}
@end table

@item MathEval
Evaluate a mathematical expression. The expression can contain x, y, z for spatial coordinates, F0, F1, ... for field values, and and mathematical functions.@*
Options:@*
@table @code
@item F
Mathematical function to evaluate.@*
type: string@*
default value: @code{"F2 + Sin(z)"}
@end table

@item MathEvalAniso
Evaluate a metric expression. The expressions can contain x, y, z for spatial coordinates, F0, F1, ... for field values, and and mathematical functions.@*
Options:@*
@table @code
@item m11
element 11 of the metric tensor.@*
type: string@*
default value: @code{"F2 + Sin(z)"}
@item m12
element 12 of the metric tensor.@*
type: string@*
default value: @code{"F2 + Sin(z)"}
@item m13
element 13 of the metric tensor.@*
type: string@*
default value: @code{"F2 + Sin(z)"}
@item m22
element 22 of the metric tensor.@*
type: string@*
default value: @code{"F2 + Sin(z)"}
@item m23
element 23 of the metric tensor.@*
type: string@*
default value: @code{"F2 + Sin(z)"}
@item m33
element 33 of the metric tensor.@*
type: string@*
default value: @code{"F2 + Sin(z)"}
@end table

@item Max
Take the maximum value of a list of fields.@*
Options:@*
@table @code
@item FieldsList
Field indices@*
type: list@*
default value: @code{@{@}}
@end table

@item MaxEigenHessian
Compute the maximum eigenvalue of the Hessian matrix of Field[IField], with the gradients evaluated by finite differences:@*
@*
  F = max(eig(grad(grad(Field[IField]))))@*
Options:@*
@table @code
@item Delta
Step used for the finite differences@*
type: float@*
default value: @code{0}
@item IField
Field index@*
type: integer@*
default value: @code{1}
@end table

@item Mean
Simple smoother:@*
@*
  F = (G(x+delta,y,z) + G(x-delta,y,z) +@*
       G(x,y+delta,z) + G(x,y-delta,z) +@*
       G(x,y,z+delta) + G(x,y,z-delta) +@*
       G(x,y,z)) / 7,@*
@*
where G=Field[IField]@*
Options:@*
@table @code
@item Delta
Distance used to compute the mean value@*
type: float@*
default value: @code{0.0003464101615137755}
@item IField
Field index@*
type: integer@*
default value: @code{0}
@end table

@item Min
Take the minimum value of a list of fields.@*
Options:@*
@table @code
@item FieldsList
Field indices@*
type: list@*
default value: @code{@{@}}
@end table

@item MinAniso
Take the intersection of a list of possibly anisotropic fields.@*
Options:@*
@table @code
@item FieldsList
Field indices@*
type: list@*
default value: @code{@{@}}
@end table

@item Octree
Pre compute another field on an octree to speed-up evalution@*
Options:@*
@table @code
@item InField
Id of the field to use as x coordinate.@*
type: integer@*
default value: @code{746138744}
@end table

@item Param
Evaluate Field IField in parametric coordinates:@*
@*
  F = Field[IField](FX,FY,FZ)@*
@*
See the MathEval Field help to get a description of valid FX, FY and FZ expressions.@*
Options:@*
@table @code
@item FX
X component of parametric function@*
type: string@*
default value: @code{""}
@item FY
Y component of parametric function@*
type: string@*
default value: @code{""}
@item FZ
Z component of parametric function@*
type: string@*
default value: @code{""}
@item IField
Field index@*
type: integer@*
default value: @code{1}
@end table

@item PostView
Evaluate the post processing view IView.@*
Options:@*
@table @code
@item CropNegativeValues
return LC_MAX instead of a negative value (this option is needed for backward compatibility with the BackgroundMesh option@*
type: boolean@*
default value: @code{1}
@item IView
Post-processing view index@*
type: integer@*
default value: @code{0}
@item ViewTag
Post-processing view tag@*
type: integer@*
default value: @code{-1}
@end table

@item Restrict
Restrict the application of a field to a given list of geometrical points, curves, surfaces or volumes.@*
Options:@*
@table @code
@item EdgesList
Curve indices@*
type: list@*
default value: @code{@{@}}
@item FacesList
Surface indices@*
type: list@*
default value: @code{@{@}}
@item IField
Field index@*
type: integer@*
default value: @code{1}
@item RegionsList
Volume indices@*
type: list@*
default value: @code{@{@}}
@item VerticesList
Point indices@*
type: list@*
default value: @code{@{@}}
@end table

@item Structured
Linearly interpolate between data provided on a 3D rectangular structured grid.@*
@*
The format of the input file is:@*
@*
  Ox Oy Oz @*
  Dx Dy Dz @*
  nx ny nz @*
  v(0,0,0) v(0,0,1) v(0,0,2) ... @*
  v(0,1,0) v(0,1,1) v(0,1,2) ... @*
  v(0,2,0) v(0,2,1) v(0,2,2) ... @*
  ...      ...      ... @*
  v(1,0,0) ...      ... @*
@*
where O are the coordinates of the first node, D are the distances between nodes in each direction, n are the numbers of nodes in each direction, and v are the values on each node.@*
Options:@*
@table @code
@item FileName
Name of the input file@*
type: path@*
default value: @code{""}
@item OutsideValue
Value of the field outside the grid (only used if the "SetOutsideValue" option is true).@*
type: float@*
default value: @code{0}
@item SetOutsideValue
True to use the "OutsideValue" option. If False, the last values of the grid are used.@*
type: boolean@*
default value: @code{0}
@item TextFormat
True for ASCII input files, false for binary files (4 bite signed integers for n, double precision floating points for v, D and O)@*
type: boolean@*
default value: @code{0}
@end table

@item Threshold
F = LCMin if Field[IField] <= DistMin,@*
F = LCMax if Field[IField] >= DistMax,@*
F = interpolation between LcMin and LcMax if DistMin < Field[IField] < DistMax@*
Options:@*
@table @code
@item DistMax
Distance from entity after which element size will be LcMax@*
type: float@*
default value: @code{10}
@item DistMin
Distance from entity up to which element size will be LcMin@*
type: float@*
default value: @code{1}
@item IField
Index of the field to evaluate@*
type: integer@*
default value: @code{0}
@item LcMax
Element size outside DistMax@*
type: float@*
default value: @code{1}
@item LcMin
Element size inside DistMin@*
type: float@*
default value: @code{0.1}
@item Sigmoid
True to interpolate between LcMin and LcMax using a sigmoid, false to interpolate linearly@*
type: boolean@*
default value: @code{0}
@item StopAtDistMax
True to not impose element size outside DistMax (i.e., F = a very big value if Field[IField] > DistMax)@*
type: boolean@*
default value: @code{0}
@end table

@end ftable
