Skip to content
Snippets Groups Projects
opt_plugin.texi 25.3 KiB
Newer Older
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@c
@c This file is generated automatically by running "gmsh -doc".
@c Do not edit by hand!
@c

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@ftable @code
@item Plugin(Annotate)
Plugin(Annotate) adds the text string `Text', in font `Font' and size `FontSize', in the view `View'. The string is aligned according to `Align'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `ThreeD' is equal to 1, the plugin inserts the string in model coordinates at the position (`X',`Y',`Z'). If `ThreeD' is equal to 0, the plugin inserts the string in screen coordinates at the position (`X',`Y').
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Plugin(Annotate) is executed in-place for list-based datasets or creates a new view for other datasets.
String options:
@table @code
@item Text
Default value: @code{"My Text"}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Font
Default value: @code{"Helvetica"}
@item Align
Default value: @code{"Left"}
@end table
Numeric options:
@table @code
@item X
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{50}
@item Y
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{30}
@item Z
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item ThreeD
Default value: @code{0}
@item FontSize
Default value: @code{14}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(Curl)
Plugin(Curl) computes the curl of the field in the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(Curl) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(CutGrid)
Plugin(CutGrid) cuts the view `View' with a rectangular grid defined by the 3 points (`X0',`Y0',`Z0') (origin), (`X1',`Y1',`Z1') (axis of U) and (`X2',`Y2',`Z2') (axis of V).
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The number of points along U and V is set with the options `NumPointsU' and `NumPointsV'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `ConnectPoints' is zero, the plugin creates points; otherwise, the plugin generates quadrangles, lines or points depending on the values of `NumPointsU' and `NumPointsV'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(CutGrid) creates one new view.
Numeric options:
@table @code
@item X0
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Y0
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Z0
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item X1
Default value: @code{1}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Y1
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Z1
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item X2
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Y2
Default value: @code{1}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Z2
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item NumPointsU
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{20}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item NumPointsV
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{20}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item ConnectPoints
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(CutParametric)
Plugin(CutParametric) cuts the view `View' with the parametric function (`X'(u), `Y'(u), `Z'(u)), using `NumPointsU' values of the parameter u in [`MinU', `MaxU'].
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `ConnectPoints' is set, the plugin creates line elements; otherwise, the plugin generates points.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(CutParametric) creates one new view.
String options:
@table @code
@item X
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{"0.1 + 0.5 * Cos(u)"}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Y
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{"0.1 + 0.5 * Sin(u)"}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Z
Default value: @code{"0"}
@end table
Numeric options:
@table @code
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item MinU
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item MaxU
Default value: @code{6.2832}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item NumPointsU
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{360}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item ConnectPoints
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(CutPlane)
Plugin(CutPlane) cuts the view `View' with the plane `A'*X + `B'*Y + `C'*Z + `D' = 0.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `ExtractVolume' is nonzero, the plugin extracts the elements on one side of the plane (depending on the sign of `ExtractVolume').
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(CutPlane) creates one new view.
Numeric options:
@table @code
@item A
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item B
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item C
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item D
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-0.01}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item ExtractVolume
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item RecurLevel
Default value: @code{4}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item TargetError
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

@item Plugin(CutSphere)
Plugin(CutSphere) cuts the view `View' with the sphere (X-`Xc')^2 + (Y-`Yc')^2 + (Z-`Zc')^2 = `R'^2.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `ExtractVolume' is nonzero, the plugin extracts the elements inside (if `ExtractVolume' < 0) or outside (if `ExtractVolume' > 0) the sphere.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(CutSphere) creates one new view.
Numeric options:
@table @code
@item Xc
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Yc
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Zc
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item R
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0.25}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item ExtractVolume
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item RecurLevel
Default value: @code{4}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item TargetError
Default value: @code{0}
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

@item Plugin(Distance)
Plugin(Distance) computes distances to boundaries in a mesh.

Plugin(Distance) creates a bunch of files.

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(Divergence)
Plugin(Divergence) computes the divergence of the field in the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(Divergence) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(Eigenvalues)
Plugin(Eigenvalues) computes the three real eigenvalues of each tensor in the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(Eigenvalues) creates three new scalar views.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(Eigenvectors)
Plugin(Eigenvectors) computes the three (right) eigenvectors of each tensor in the view `View' and sorts them according to the value of the associated eigenvalues.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

If `ScaleByEigenvalues' is set, each eigenvector is scaled by its associated eigenvalue. The plugin gives an error if the eigenvectors are complex.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Christophe Geuzaine's avatar
Christophe Geuzaine committed
If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Christophe Geuzaine's avatar
Christophe Geuzaine committed
Plugin(Eigenvectors) creates three new vector view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item ScaleByEigenvalues
Default value: @code{1}
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

@item Plugin(ExtractEdges)
Plugin(ExtractEdges) extracts sharp edges from a triangular mesh.

Plugin(ExtractEdges) creates one new view.
Numeric options:
@table @code
@item Angle
Default value: @code{40}
@item IncludeBoundary
Default value: @code{1}
@end table

@item Plugin(ExtractElements)
Plugin(ExtractElements) extracts some elements from the view `View'. If `MinVal' != `MaxVal', it extracts the elements whose `TimeStep'-th values (averaged by element) are comprised between `MinVal' and `MaxVal'. If `Visible' != 0, it extracts visible elements. 
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(ExtractElements) creates one new view.
Numeric options:
@table @code
@item MinVal
Default value: @code{0}
@item MaxVal
@item TimeStep
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

@item Plugin(GSHHS)
Plugin(GSHHS) read different kind of contour lines data and write a .geo file on the surface of a sphere (the Earth).
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The principal application is to load GSHHS data
 (see http://www.soest.hawaii.edu/wessel/gshhs/gshhs.html).
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Valid values for "Format" are:

- "gshhs": open GSHHS file

- "loops2": import 2D contour lines in simple text format:

NB_POINTS_IN_FIRST_LOOP FIRST_LOOP_IS_CLOSED
COORD1 COORD2
COORD1 COORD2
...    ...
NB_POINTS_IN_SECOND_LOOP SECOND_LOOP_IS_CLOSED
...

(LOOP_IS_CLOSED specifies if this coast line describes a closed curve (0=no, 1=yes)).

In the case of "loops2" format, you can specify the coordinate system used in the input file with the "Coordinate" option. Valid values are
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- "lonlat" for longitude-latidute radian,

- "lonlat_degrees" for longitude-latitude degrees,

- "UTM" for universal transverse mercartor ("UTMZone" option should be specified)
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- "cartesian" for full 3D coordinates

- "radius" specify the earth radius.

If the "iField" option is set, consecutive points closer than the value of the field iField (in meters) will not be added.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If "MinStraitsFactor" > 0 and if a field iField is provided, coastlines closer than MinStraitsFactor * field(IField) are merged and inner corners which form an angle < pi/3 are removed.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The output is always in stereographic coordinates, if the "WritePolarSphere" option is not 0, a sphere is added to the geo file.
WARNING: this plugin is still experimental and needs polishing and error-handling. In particular, it will probably crash if an inexistant field id is given or if the input/output cannot be open.
String options:
@table @code
@item InFileName
Default value: @code{"gshhs_c.b"}
@item OutFileName
Default value: @code{"earth.geo"}
@item Format
Default value: @code{"gshhs"}
@item Coordinate
Default value: @code{"cartesian"}
@end table
Numeric options:
@table @code
@item iField
Default value: @code{-1}
@item UTMZone
Default value: @code{0}
@item UTMEquatorialRadius
Default value: @code{6.37814e+06}
@item UTMPolarRadius
Default value: @code{6.35675e+06}
@item radius
Default value: @code{6.37101e+06}
@item WritePolarSphere
Default value: @code{1}
@item MinStraitsFactor
Default value: @code{1}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(Gradient)
Plugin(Gradient) computes the gradient of the field in the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(Gradient) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(HarmonicToTime)
Plugin(HarmonicToTime) takes the values in the time steps `RealPart' and `ImaginaryPart' of the view `View', and creates a new view containing
Christophe Geuzaine's avatar
Christophe Geuzaine committed

`View'[`RealPart'] * cos(p) - `View'[`ImaginaryPart'] * sin(p)

with p = 2*Pi*k/`NumSteps', k = 0, ..., `NumSteps'-1.

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(HarmonicToTime) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item RealPart
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item ImaginaryPart
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item NumSteps
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{20}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(Homology)
Plugin(Homology) computes ranks and generators of (relative) homology spaces and their thick cuts.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Define physical groups in order to specify the computation domain and the relative subdomain. Otherwise the whole mesh is the domain and the relative subdomain is empty. 

Plugin(Homology) creates new views, one for each generator found. The resulting generator chains together with the mesh are saved to the file given.
Christophe Geuzaine's avatar
Christophe Geuzaine committed
String options:
@table @code
@item Filename
Default value: @code{"homology.msh"}
@end table
Numeric options:
@table @code
@item PhysicalGroupForDomain1
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{0}
@item PhysicalGroupForDomain2
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{0}
@item PhysicalGroupForSubdomain1
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{0}
@item PhysicalGroupForSubdomain2
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{0}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(Integrate)
Plugin(Integrate) integrates scalar fields over all the elements in the view `View', as well as the circulation/flux of vector fields over line/surface elements.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(Integrate) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Default value: @code{-1}
@end table

@item Plugin(Isosurface)
Plugin(Isosurface) extracts the isosurface of value `Value' from the view `View', and draws the `OtherTimeStep'-th step of the view `OtherView' on this isosurface.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `ExtractVolume' is nonzero, the plugin extracts the isovolume with values greater (if `ExtractVolume' > 0) or smaller (if `ExtractVolume' < 0) than the isosurface `Value'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `OtherTimeStep' < 0, the plugin uses, for each time step in `View', the corresponding time step in `OtherView'. If `OtherView' < 0, the plugin uses `View' as the value source.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(Isosurface) creates as many views as there are time steps in `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Numeric options:
@table @code
@item Value
Default value: @code{0}
@item ExtractVolume
Default value: @code{0}
@item RecurLevel
Default value: @code{4}
@item TargetError
Default value: @code{0}
@item View
Default value: @code{-1}
@item OtherTimeStep
Default value: @code{-1}
@item OtherView
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(Lambda2)
Plugin(Lambda2) computes the eigenvalues Lambda(1,2,3) of the tensor (S_ik S_kj + Om_ik Om_kj), where S_ij = 0.5 (ui,j + uj,i) and Om_ij = 0.5 (ui,j - uj,i) are respectively the symmetric and antisymmetric parts of the velocity gradient tensor.

Vortices are well represented by regions where Lambda(2) is negative.

If `View' contains tensor elements, the plugin directly uses the tensors as the values of the velocity gradient tensor; if `View' contains vector elements, the plugin uses them as the velocities from which to derive the velocity gradient tensor.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(Lambda2) creates one new view.
Numeric options:
@table @code
@item Eigenvalue
Default value: @code{2}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(LongitudeLatitude)
Plugin(LongituteLatitude) projects the view `View' in longitude-latitude.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(LongituteLatitude) is executed in place.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(MakeSimplex)
Plugin(MakeSimplex) decomposes all non-simplectic elements (quadrangles, prisms, hexahedra, pyramids) in the view `View' into simplices (triangles, tetrahedra).
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(MakeSimplex) is executed in-place.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@item Plugin(MathEval)
Plugin(MathEval) creates a new view using data from the time step `TimeStep' in the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If only `Expression0' is given (and `Expression1', ..., `Expression8' are all empty), the plugin creates a scalar view. If `Expression0', `Expression1' and/or `Expression2' are given (and `Expression3', ..., `Expression8' are all empty) the plugin creates a vector view. Otherwise the plugin creates a tensor view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

In addition to the usual mathematical functions (Exp, Log, Sqrt, Sin, Cos, Fabs, etc.) and operators (+, -, *, /, ^), all expressions can contain:
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbols v0, v1, v2, ..., vn, which represent the n components in `View';
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbols w0, w1, w2, ..., wn, which represent the n components of `OtherView', at time step `OtherTimeStep';
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbols x, y and z, which represent the three spatial coordinates.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `TimeStep' < 0, the plugin extracts data from all the time steps in the view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(MathEval) creates one new view.
String options:
@table @code
@item Expression0
Default value: @code{"Sqrt(v0^2+v1^2+v2^2)"}
@item Expression1
Default value: @code{""}
@item Expression2
Default value: @code{""}
@item Expression3
Default value: @code{""}
@item Expression4
Default value: @code{""}
@item Expression5
Default value: @code{""}
@item Expression6
Default value: @code{""}
@item Expression7
Default value: @code{""}
@item Expression8
Default value: @code{""}
@end table
Numeric options:
@table @code
@item TimeStep
Default value: @code{-1}
@item View
Default value: @code{-1}
@item OtherTimeStep
Default value: @code{-1}
@item OtherView
Default value: @code{-1}
@end table

@item Plugin(MinMax)
Plugin(MinMax) computes the min/max of a view.

If `View' < 0, the plugin is run on the current view.

Plugin(MinMax) creates two new views.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(ModifyComponent)
Plugin(ModifyComponent) sets the `Component'-th component of the `TimeStep'-th time step in the view `View' to the expression `Expression'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

`Expression' can contain:

- the usual mathematical functions (Log, Sqrt, Sin, Cos, Fabs, ...) and operators (+, -, *, /, ^);
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbols x, y and z, to retrieve the coordinates of the current node;
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbols Time and TimeStep, to retrieve the current time and time step values;
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbol v, to retrieve the `Component'-th component of the field in `View' at the `TimeStep'-th time step;
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbols v0, v1, v2, ..., v8, to retrieve each component of the field in `View' at the `TimeStep'-th time step;
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbol w, to retrieve the `Component'-th component of the field in `OtherView' at the `OtherTimeStep'-th time step. If `OtherView' and `View' are based on different spatial grids, or if their data types are different, `OtherView' is interpolated onto `View';
Christophe Geuzaine's avatar
Christophe Geuzaine committed

- the symbols w0, w1, w2, ..., w8, to retrieve each component of the field in `OtherView' at the `OtherTimeStep'-th time step.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `TimeStep' < 0, the plugin automatically loops over all the time steps in `View' and evaluates `Expression' for each one.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `OtherTimeStep' < 0, the plugin uses `TimeStep' instead.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `Component' < 0, the plugin automatically  ops
over all the components in the view and evaluates `Expression' for each one.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

If `OtherView' < 0, the plugin uses `View' instead.
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Plugin(ModifyComponent) is executed in-place.
String options:
@table @code
@item Expression
Default value: @code{"v0 * Sin(x)"}
@end table
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Component
Default value: @code{-1}
@item TimeStep
Default value: @code{-1}
@item View
Default value: @code{-1}
@item OtherTimeStep
Default value: @code{-1}
@item OtherView
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(ModulusPhase)
Plugin(ModulusPhase) interprets the time steps `realPart' and `imaginaryPart' in the view `View' as the real and imaginary parts of a complex field and replaces them with their corresponding modulus and phase.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(ModulusPhase) is executed in-place.
Numeric options:
@table @code
@item RealPart
Default value: @code{0}
@item ImaginaryPart
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Default value: @code{-1}
@end table

@item Plugin(Particles)
Plugin(Particles) computes the trajectory of particules in the force field given by the `TimeStep'-th time step of a vector view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The plugin takes as input a grid defined by the 3 points (`X0',`Y0',`Z0') (origin), (`X1',`Y1',`Z1') (axis of U) and (`X2',`Y2',`Z2') (axis of V).
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The number of particles along U and V that are to be transported is set with the options `NumPointsU' and `NumPointsV'. The equation
Christophe Geuzaine's avatar
Christophe Geuzaine committed

A2 * d^2X(t)/dt^2 + A1 * dX(t)/dt + A0 * X(t) = F

is then solved with the initial conditions X(t=0) chosen as the grid, dX/dt(t=0)=0, and with F interpolated from the vector view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Time stepping is done using a Newmark scheme with step size `DT' and `MaxIter' maximum number of iterations.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(Particles) creates one new view containing multi-step vector points.
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Numeric options:
@table @code
@item X0
Default value: @code{0}
@item Y0
Default value: @code{0}
@item Z0
Default value: @code{0}
@item X1
Default value: @code{1}
@item Y1
Default value: @code{0}
@item Z1
Default value: @code{0}
@item X2
Default value: @code{0}
@item Y2
Default value: @code{1}
@item Z2
Default value: @code{0}
@item NumPointsU
Default value: @code{10}
@item NumPointsV
Default value: @code{1}
@item A2
Default value: @code{1}
@item A1
Default value: @code{0}
@item A0
Default value: @code{0}
@item DT
Default value: @code{0.1}
@item MaxIter
Default value: @code{100}
@item TimeStep
Default value: @code{0}
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
@end table

@item Plugin(Probe)
Plugin(Probe) gets the value of the view `View' at the point (`X',`Y',`Z').
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(Probe) creates one new view.
Numeric options:
@table @code
@item X
Default value: @code{0}
@item Y
Default value: @code{0}
@item Z
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Default value: @code{-1}
@end table

@item Plugin(Remove)
Plugin(Remove) removes the marked items from the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(Remove) is executed in-place.
Numeric options:
@table @code
@item Text2D
Default value: @code{1}
@item Text3D
Default value: @code{1}
@item Points
Default value: @code{0}
@item Lines
Default value: @code{0}
@item Triangles
Default value: @code{0}
@item Quadrangles
Default value: @code{0}
@item Tetrahedra
Default value: @code{0}
@item Hexahedra
Default value: @code{0}
@item Prisms
Default value: @code{0}
@item Pyramids
Default value: @code{0}
@item Scalar
Default value: @code{1}
@item Vector
Default value: @code{1}
@item Tensor
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(Skin)
Plugin(Skin) extracts the boundary (skin) of the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(Skin) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

@item Plugin(Smooth)
Plugin(Smooth) averages the values at the nodes of the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(Smooth) is executed in-place.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

@item Plugin(SphericalRaise)
Plugin(SphericalRaise) transforms the coordinates of the elements in the view `View' using the values associated with the `TimeStep'-th time step.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Instead of elevating the nodes along the X, Y and Z axes as with the View[`View'].RaiseX, View[`View'].RaiseY and View[`View'].RaiseZ options, the raise is applied along the radius of a sphere centered at (`Xc', `Yc', `Zc').
Christophe Geuzaine's avatar
Christophe Geuzaine committed

To produce a standard radiation pattern, set `Offset' to minus the radius of the sphere the original data lives on.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

Plugin(SphericalRaise) is executed in-place.
Numeric options:
@table @code
@item Xc
Default value: @code{0}
@item Yc
Default value: @code{0}
@item Zc
Default value: @code{0}
@item Raise
Default value: @code{1}
@item Offset
Default value: @code{0}
@item TimeStep
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Plugin(StreamLines)
Plugin(StreamLines) computes stream lines from the `TimeStep'-th time step of a vector view `View' and optionally interpolates the scalar view `OtherView' on the resulting stream lines.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The plugin takes as input a grid defined by the 3 points (`X0',`Y0',`Z0') (origin), (`X1',`Y1',`Z1') (axis of U) and (`X2',`Y2',`Z2') (axis of V).
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The number of points along U and V that are to be transported is set with the options `NumPointsU' and `NumPointsV'. The equation
Christophe Geuzaine's avatar
Christophe Geuzaine committed

dX(t)/dt = V(x,y,z)

is then solved with the initial condition X(t=0) chosen as the grid and with V(x,y,z) interpolated on the vector view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

The time stepping scheme is a RK44 with step size `DT' and `MaxIter' maximum number of iterations.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `TimeStep' < 0, the plugin tries to compute streamlines of the unsteady flow.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed

Plugin(StreamLines) creates one new view. This view contains multi-step vector points if `OtherView' < 0, or single-step scalar lines if `OtherView' >= 0.
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Numeric options:
@table @code
@item X0
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Y0
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Z0
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item X1
Default value: @code{1}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Y1
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Z1
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item X2
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Y2
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{1}
@item Z2
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item NumPointsU
Default value: @code{10}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item NumPointsV
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{1}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item DT
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0.1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item MaxIter
Default value: @code{100}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item TimeStep
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item OtherView
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(Tetrahedralize)
Plugin(Tetrahedralize) tetrahedralizes the points in the view `View'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(Tetrahedralize) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
Christophe Geuzaine committed
Default value: @code{-1}
@end table

Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item Plugin(Transform)
Plugin(Transform) transforms the homogeneous node coordinates (x,y,z,1) of the elements in the view `View' by the matrix
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
[`A11' `A12' `A13' `Tx']
[`A21' `A22' `A23' `Ty']
[`A31' `A32' `A33' `Tz'].
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `SwapOrientation' is set, the orientation of the elements is reversed.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(Transform) is executed in-place.
Numeric options:
@table @code
@item A11
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A12
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A13
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A21
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A22
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A23
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A31
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A32
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item A33
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{1}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Tx
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Ty
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item Tz
Default value: @code{0}
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
@item SwapOrientation
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{0}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

@item Plugin(Triangulate)
Plugin(Triangulate) triangulates the points in the view `View', assuming that all the points belong to a surface that can be projected one-to-one onto a plane.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

Plugin(Triangulate) creates one new view.
Numeric options:
@table @code
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
 
Christophe Geuzaine committed
Default value: @code{-1}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end table

Plugin(Warp) transforms the elements in the view `View' by adding to their node coordinates the vector field stored in the `TimeStep'-th time step of the view `OtherView', scaled by `Factor'.
Christophe Geuzaine's avatar
Christophe Geuzaine committed

If `View' < 0, the plugin is run on the current view.

If `OtherView' < 0, the vector field is taken as the field of surface normals multiplied by the `TimeStep' value in `View'. (The smoothing of the surface normals is controlled by the `SmoothingAngle' parameter.)

Plugin(Warp) is executed in-place.
Numeric options:
@table @code
@item Factor
Default value: @code{1}
@item TimeStep
Default value: @code{0}
@item SmoothingAngle
Default value: @code{180}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item View
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@item OtherView
Christophe Geuzaine's avatar
Christophe Geuzaine committed
@end ftable