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

@ftable @code
@item Plugin(AnalyseMeshQuality)
Plugin(AnalyseMeshQuality) analyse all elements of a given dimension. According to what is asked, it computes the minimum of the Jacobian determinant (J), the IGE quality measure (Inverse Gradient Error) and/or the ICN quality measure (Inverse Condition Number). Statistics are printed and, if asked, a Pview is created for each measure. The plugin hides elements for which the measure mu > 'Hiding threshold', where mu is the ICN measure if asked otherwise the IGE measure if asked otherwise the Jacobian determinant.@*
@*
J is faster to compute but gives information only on validity while the other measure gives also information on quality.@*
The IGE measure is related to the error on the gradient of the finite element solution. It is the scaled Jacobian for quads and hexes and a new measure for triangles and tetrahedra.@*
The ICN measure is related to the condition number of the stiffness matrix.@*
(See article "Efficient computation of the minimum of shape quality measures on curvilinear finite elements" for details.)@*
@*
Parameters:@*
@*
- JacobianDeterminant = @{0, 1@}@*
@*
- IGEMeasure = @{0, 1@}@*
@*
- ICNMeasure = @{0, 1@}@*
@*
- HidingThreshold = [0, 1]: Hides all element for which min(mu) is strictly greater than the threshold, where mu is ICN ifICNMeasure == 1, otherwise it is IGE if IGEMeasure == 1. If ICNMeasure == IGEMeasure == 0, nothing happens. If threshold == 0, hides all elements except invalid.@*
@*
- DrawPView = @{0, 1@}: Creates a PView of min(J)/max(J), min(IGE) and/or min(ICN) according to what is asked. If 'Recompute' = 1, new PViews are created.@*
@*
- Recompute = @{0,1@}: Should be 1 if the mesh has changed.@*
@*
- DimensionOfElements = @{-1, 1, 2, 3, 4@}: If == -1, analyse element of the greater dimension. If == 4, analyse 2D and 3D elements.
Numeric options:
@table @code
@item JacobianDeterminant
Default value: @code{0}
@item IGEMeasure
Default value: @code{0}
@item ICNMeasure
Default value: @code{0}
@item HidingThreshold
Default value: @code{9}
@item DrawPView
Default value: @code{0}
@item Recompute
Default value: @code{0}
@item DimensionOfElements
Default value: @code{-1}
@end table

@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'.@*
@*
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').@*
@*
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"}
@item Font
Default value: @code{"Helvetica"}
@item Align
Default value: @code{"Left"}
@end table
Numeric options:
@table @code
@item X
Default value: @code{50}
@item Y
Default value: @code{30}
@item Z
Default value: @code{0}
@item ThreeD
Default value: @code{0}
@item FontSize
Default value: @code{14}
@item View
Default value: @code{-1}
@end table

@item Plugin(BoundaryAngles)
Plugin(BoundaryAngles) computes the (interior) angles between the line elements on the boundary of all surfaces. The angles, computed modulo 2*Pi, are stored in a new post-processing view, one for each surface. The plugin currently only works for planar surfaces.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@item Plugin(Bubbles)
Plugin(Bubbles) constructs a geometry consisting of `bubbles' inscribed in the Voronoi of an input triangulation. `ShrinkFactor' allows to change the size of the bubbles. The plugin expects a triangulation in the `z = 0' plane to exist in the current model.@*
@*
Plugin(Bubbles) creates one `.geo' file.
String options:
@table @code
@item OutputFile
Default value: @code{"bubbles.geo"}
@end table
Numeric options:
@table @code
@item ShrinkFactor
Default value: @code{0}
@end table

@item Plugin(Crack)
Plugin(Crack) creates a crack around the physical group `PhysicalGroup' of dimension `Dimension' (1 or 2), embedded in a mesh of dimension `Dimension' + 1. The plugin duplicates the nodes and the elements on the crack and stores them in a new discrete curve (`Dimension' = 1) or surface (`Dimension' = 2). The elements touching the crack on the ``negative'' side are modified to use the newly generated nodes.If `OpenBoundaryPhysicalGroup' is given (> 0), its nodes are duplicated and the crack will be left open on that (part of the) boundary. Otherwise, the lips of the crack are sealed, i.e., its nodes are not duplicated. For 1D cracks, `NormalX', `NormalY' and `NormalZ' provide the reference normal of the surface in which the crack is supposed to be embedded.
Numeric options:
@table @code
@item Dimension
Default value: @code{1}
@item PhysicalGroup
Default value: @code{1}
@item OpenBoundaryPhysicalGroup
Default value: @code{0}
@item NormalX
Default value: @code{0}
@item NormalY
Default value: @code{0}
@item NormalZ
Default value: @code{1}
@end table

@item Plugin(Curl)
Plugin(Curl) computes the curl of the field in the view `View'.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Curl) creates one new view.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@item Plugin(CurvedBndDist)
Plugin(CurvedBndDist) ...

@item Plugin(CutBox)
Plugin(CutBox) cuts the view `View' with a rectangular box defined by the 4 points (`X0',`Y0',`Z0') (origin), (`X1',`Y1',`Z1') (axis of U), (`X2',`Y2',`Z2') (axis of V) and (`X3',`Y3',`Z3') (axis of W).@*
@*
The number of points along U, V, W is set with the options `NumPointsU', `NumPointsV' and `NumPointsW'.@*
@*
If `ConnectPoints' is zero, the plugin creates points; otherwise, the plugin generates hexahedra, quadrangles, lines or points depending on the values of `NumPointsU', `NumPointsV' and `NumPointsW'.@*
@*
If `Boundary' is zero, the plugin interpolates the view inside the box; otherwise the plugin interpolates the view at its boundary.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(CutBox) creates one new view.
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 X3
Default value: @code{0}
@item Y3
Default value: @code{0}
@item Z3
Default value: @code{1}
@item NumPointsU
Default value: @code{20}
@item NumPointsV
Default value: @code{20}
@item NumPointsW
Default value: @code{20}
@item ConnectPoints
Default value: @code{1}
@item Boundary
Default value: @code{1}
@item View
Default value: @code{-1}
@end table

@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).@*
@*
The number of points along U and V is set with the options `NumPointsU' and `NumPointsV'.@*
@*
If `ConnectPoints' is zero, the plugin creates points; otherwise, the plugin generates quadrangles, lines or points depending on the values of `NumPointsU' and `NumPointsV'.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(CutGrid) creates one new view.
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{20}
@item NumPointsV
Default value: @code{20}
@item ConnectPoints
Default value: @code{1}
@item View
Default value: @code{-1}
@end table

@item Plugin(CutMesh)
Plugin(CutMesh) cuts the mesh of the current GModel with the zero value of the levelset defined with the view 'View'.Sub-elements are created in the new model (polygons in 2D and polyhedra in 3D) and border elements are created on the zero-levelset.@*
@*
If `Split' is nonzero, the plugin splits the meshalong the edges of the cut elements in the positive side.@*
@*
If 'SaveTri' is nonzero, the sub-elements are saved as simplices.@*
@*
Plugin(CutMesh) creates one new GModel.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@item Split
Default value: @code{0}
@item SaveTri
Default value: @code{0}
@end table

@item Plugin(CutParametric)
Plugin(CutParametric) cuts the view `View' with the parametric function (`X'(u,v), `Y'(u,v), `Z'(u,v)), using `NumPointsU' values of the parameter u in [`MinU', `MaxU'] and `NumPointsV' values of the parameter v in [`MinV', `MaxV'].@*
@*
If `ConnectPoints' is set, the plugin creates surface or line elements; otherwise, the plugin generates points.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(CutParametric) creates one new view.
String options:
@table @code
@item X
Default value: @code{"2 * Cos(u) * Sin(v)"}
@item Y
Default value: @code{"4 * Sin(u) * Sin(v)"}
@item Z
Default value: @code{"0.1 + 0.5 * Cos(v)"}
@end table
Numeric options:
@table @code
@item MinU
Default value: @code{0}
@item MaxU
Default value: @code{6.2832}
@item NumPointsU
Default value: @code{180}
@item MinV
Default value: @code{0}
@item MaxV
Default value: @code{6.2832}
@item NumPointsV
Default value: @code{180}
@item ConnectPoints
Default value: @code{0}
@item View
Default value: @code{-1}
@end table

@item Plugin(CutPlane)
Plugin(CutPlane) cuts the view `View' with the plane `A'*X + `B'*Y + `C'*Z + `D' = 0.@*
@*
If `ExtractVolume' is nonzero, the plugin extracts the elements on one side of the plane (depending on the sign of `ExtractVolume').@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(CutPlane) creates one new view.
Numeric options:
@table @code
@item A
Default value: @code{1}
@item B
Default value: @code{0}
@item C
Default value: @code{0}
@item D
Default value: @code{-0.01}
@item ExtractVolume
Default value: @code{0}
@item RecurLevel
Default value: @code{4}
@item TargetError
Default value: @code{0}
@item View
Default value: @code{-1}
@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.@*
@*
If `ExtractVolume' is nonzero, the plugin extracts the elements inside (if `ExtractVolume' < 0) or outside (if `ExtractVolume' > 0) the sphere.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(CutSphere) creates one new view.
Numeric options:
@table @code
@item Xc
Default value: @code{0}
@item Yc
Default value: @code{0}
@item Zc
Default value: @code{0}
@item R
Default value: @code{0.25}
@item ExtractVolume
Default value: @code{0}
@item RecurLevel
Default value: @code{4}
@item TargetError
Default value: @code{0}
@item View
Default value: @code{-1}
@end table

@item Plugin(DiscretizationError)
Plugin(DiscretizationError) computes the error between the mesh and the geometry. It does so by supersampling the elements and computing the distance between the supersampled points dans their projection on the geometry.
Numeric options:
@table @code
@item SuperSamplingNodes
Default value: @code{10}
@end table

@item Plugin(Distance)
Plugin(Distance) computes distances to entities in a mesh.@*
@*
If `PhysicalPoint', `PhysicalLine' and `PhysicalSurface' are 0, the distance is computed to all the boundaries. Otherwise the distance is computed to the given physical group.@*
@*
If `DistanceType' is 0, the plugin computes the geometrical Euclidean distance using the naive O(N^2) algorithm. If `DistanceType' > 0, the plugin computes an approximate distance by solving a PDE with a diffusion constant equal to `DistanceType' time the maximum size of the bounding box of the mesh as in [Legrand et al. 2006].@*
@*
Positive `MinScale' and `MaxScale' scale the distance function.@*
@*
Plugin(Distance) creates one new view.
Numeric options:
@table @code
@item PhysicalPoint
Default value: @code{0}
@item PhysicalLine
Default value: @code{0}
@item PhysicalSurface
Default value: @code{0}
@item DistanceType
Default value: @code{0}
@item MinScale
Default value: @code{0}
@item MaxScale
Default value: @code{0}
@end table

@item Plugin(Divergence)
Plugin(Divergence) computes the divergence of the field in the view `View'.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Divergence) creates one new view.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@item Plugin(Eigenvalues)
Plugin(Eigenvalues) computes the three real eigenvalues of each tensor in the view `View'.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Eigenvalues) creates three new scalar views.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@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.@*
@*
If `ScaleByEigenvalues' is set, each eigenvector is scaled by its associated eigenvalue. The plugin gives an error if the eigenvectors are complex.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Eigenvectors) creates three new vector view.
Numeric options:
@table @code
@item ScaleByEigenvalues
Default value: @code{1}
@item View
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. @*
@*
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
Default value: @code{0}
@item TimeStep
Default value: @code{0}
@item Visible
Default value: @code{1}
@item Dimension
Default value: @code{-1}
@item View
Default value: @code{-1}
@end table

@item Plugin(FieldFromAmplitudePhase)
Plugin(FieldFromAmplitudePhase) builds a complex field 'u' from amplitude 'a' (complex) and phase 'phi' given in two different 'Views' u = a * exp(k*phi), with k the wavenumber. @*
@*
The result is to be interpolated in a sufficiently fine mesh: 'MeshFile'. @*
@*
Plugin(FieldFromAmplitudePhase) generates one new view.
String options:
@table @code
@item MeshFile
Default value: @code{"fine.msh"}
@end table
Numeric options:
@table @code
@item Wavenumber
Default value: @code{5}
@item AmplitudeView
Default value: @code{0}
@item PhaseView
Default value: @code{1}
@end table

@item Plugin(GaussPoints)
Given an input mesh, Plugin(GaussPoints) creates a view containing the Gauss points for a given polynomial `Order'.@*
@*
If `PhysicalGroup' is nonzero, the plugin only creates points for the elements belonging to the group.
Numeric options:
@table @code
@item Order
Default value: @code{0}
@item Dimension
Default value: @code{2}
@item PhysicalGroup
Default value: @code{0}
@end table

@item Plugin(Gradient)
Plugin(Gradient) computes the gradient of the field in the view `View'.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Gradient) creates one new view.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@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@*
@*
`View'[`RealPart'] * cos(p) +- `View'[`ImaginaryPart'] * sin(p)@*
with@*
 p = 2*Pi*k/`NumSteps', k = 0, ..., `NumSteps'-1@*
and 'NumSteps' the total number of time steps@*
over 'NumPeriods' periods at frequency 'Frequency' [Hz].@*
The '+' sign is used if `TimeSign'>0, the '-' sign otherwise.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(HarmonicToTime) creates one new view.
Numeric options:
@table @code
@item RealPart
Default value: @code{0}
@item ImaginaryPart
Default value: @code{1}
@item NumSteps
Default value: @code{20}
@item TimeSign
Default value: @code{-1}
@item Frequency
Default value: @code{1}
@item NumPeriods
Default value: @code{1}
@item View
Default value: @code{-1}
@end table

@item Plugin(HomologyComputation)
Plugin(HomologyComputation) computes representative chains of basis elements of (relative) homology and cohomology spaces.@*
@*
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(HomologyComputation) creates new views, one for each basis element. The resulting basis chains of desired dimension together with the mesh are saved to the given file.
String options:
@table @code
@item DomainPhysicalGroups
Default value: @code{""}
@item SubdomainPhysicalGroups
Default value: @code{""}
@item ReductionImmunePhysicalGroups
Default value: @code{""}
@item DimensionOfChainsToSave
Default value: @code{"0, 1, 2, 3"}
@item Filename
Default value: @code{"homology.msh"}
@end table
Numeric options:
@table @code
@item ComputeHomology
Default value: @code{1}
@item ComputeCohomology
Default value: @code{0}
@item HomologyPhysicalGroupsBegin
Default value: @code{-1}
@item CohomologyPhysicalGroupsBegin
Default value: @code{-1}
@item CreatePostProcessingViews
Default value: @code{1}
@item ReductionOmit
Default value: @code{1}
@item ReductionCombine
Default value: @code{3}
@item PostProcessSimplify
Default value: @code{1}
@item ReductionHeuristic
Default value: @code{1}
@end table

@item Plugin(HomologyPostProcessing)
Plugin(HomologyPostProcessing) operates on representative basis chains of homology and cohomology spaces. Functionality:@*
@*
1. (co)homology basis transformation:@*
 'TransformationMatrix': Integer matrix of the transformation.@*
 'PhysicalGroupsOfOperatedChains': (Co)chains of a (co)homology space basis to be transformed.@*
 Results a new (co)chain basis that is an integer cobination of the given basis. @*
@*
2. Make basis representations of a homology space and a cohomology space compatible: @*
'PhysicalGroupsOfOperatedChains': Chains of a homology space basis.@*
'PhysicalGroupsOfOperatedChains2': Cochains of a cohomology space basis.@*
Results a new basis for the homology space such that the incidence matrix of the new basis and the basis of the cohomology space is the identity matrix.@*
@*
Options:@*
'PhysicalGroupsToTraceResults': Trace the resulting (co)chains to the given physical groups.@*
'PhysicalGroupsToProjectResults': Project the resulting (co)chains to the complement of the given physical groups.@*
'NameForResultChains': Post-processing view name prefix for the results.@*
'ApplyBoundaryOperatorToResults': Apply boundary operator to the resulting chains.@*

String options:
@table @code
@item TransformationMatrix
Default value: @code{"1, 0; 0, 1"}
@item PhysicalGroupsOfOperatedChains
Default value: @code{"1, 2"}
@item PhysicalGroupsOfOperatedChains2
Default value: @code{""}
@item PhysicalGroupsToTraceResults
Default value: @code{""}
@item PhysicalGroupsToProjectResults
Default value: @code{""}
@item NameForResultChains
Default value: @code{"c"}
@end table
Numeric options:
@table @code
@item ApplyBoundaryOperatorToResults
Default value: @code{0}
@end table

@item Plugin(Integrate)
Plugin(Integrate) integrates a scalar field over all the elements of the view `View' (if `Dimension' < 0), or over all elements of the prescribed dimension (if `Dimension' > 0). If the field is a vector field,the circulation/flux of the field over line/surface elements is calculated.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
If `OverTime' = i > -1 , the plugin integrates the scalar view over time instead of over space, starting at iteration i.If `Visible' = 1, the plugin only integrates overvisible entities.@*
@*
Plugin(Integrate) creates one new view.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@item OverTime
Default value: @code{-1}
@item Dimension
Default value: @code{-1}
@item Visible
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.@*
@*
If `ExtractVolume' is nonzero, the plugin extracts the isovolume with values greater (if `ExtractVolume' > 0) or smaller (if `ExtractVolume' < 0) than the isosurface `Value'.@*
@*
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.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Isosurface) creates as many views as there are time steps in `View'.
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
Default value: @code{-1}
@end table

@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.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Lambda2) creates one new view.
Numeric options:
@table @code
@item Eigenvalue
Default value: @code{2}
@item View
Default value: @code{-1}
@end table

@item Plugin(LongitudeLatitude)
Plugin(LongituteLatitude) projects the view `View' in longitude-latitude.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(LongituteLatitude) is executed in place.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@item Plugin(MakeSimplex)
Plugin(MakeSimplex) decomposes all non-simplectic elements (quadrangles, prisms, hexahedra, pyramids) in the view `View' into simplices (triangles, tetrahedra).@*
@*
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'.@*
@*
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.@*
@*
In addition to the usual mathematical functions (Exp, Log, Sqrt, Sin, Cos, Fabs, etc.) and operators (+, -, *, /, ^), all expressions can contain:@*
@*
- the symbols v0, v1, v2, ..., vn, which represent the n components in `View';@*
@*
- the symbols w0, w1, w2, ..., wn, which represent the n components of `OtherView', at time step `OtherTimeStep';@*
@*
- the symbols x, y and z, which represent the three spatial coordinates.@*
@*
If `TimeStep' < 0, the plugin extracts data from all the time steps in the view.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(MathEval) creates one new view.If `PhysicalRegion' < 0, the plugin is run on all physical regions.@*
@*
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}
@item ForceInterpolation
Default value: @code{0}
@item PhysicalRegion
Default value: @code{-1}
@end table

@item Plugin(MeshSizeFieldView)
Plugin(MeshSizeFieldView) evaluates the mesh size field `MeshSizeField' on specified `Component` (0 for scalar) of the post-processing view `View'.
Numeric options:
@table @code
@item MeshSizeField
Default value: @code{0}
@item View
Default value: @code{-1}
@item Component
Default value: @code{0}
@end table

@item Plugin(MeshSubEntities)
Plugin(MeshSubEntities) creates mesh elements for the entities of dimension `OutputDimension' (0 for vertices, 1 for edges, 2 for faces) of the `InputPhysicalGroup' of dimension `InputDimension'. The plugin creates new elements belonging to `OutputPhysicalGroup'.
Numeric options:
@table @code
@item InputDimension
Default value: @code{1}
@item InputPhysicalGroup
Default value: @code{1}
@item OuputDimension
Default value: @code{0}
@item OuputPhysicalGroup
Default value: @code{2000}
@end table

@item Plugin(MeshVolume)
Plugin(MeshVolume) computes the volume of the mesh.@*
@*
Only the elements in the physical group `PhysicalGroup' of dimension `Dimension' are taken into account, unless 'PhysicalGroup' is negative, in which case all the elements of the given `Dimension' are considered. If `Dimension` is negative, all the elments are considered.@*
@*
Plugin(MeshVolume) creates one new view.
Numeric options:
@table @code
@item PhysicalGroup
Default value: @code{-1}
@item Dimension
Default value: @code{3}
@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. If `OverTime' = 1, the plugin calculates the min/max over space and time. If `Argument' = 1, the plugin calculates the min/max and the argmin/argmax. If `Visible' = 1, the plugin is only applied to visible entities.@*
@*
Plugin(MinMax) creates two new views.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@item OverTime
Default value: @code{0}
@item Argument
Default value: @code{0}
@item Visible
Default value: @code{1}
@end table

@item Plugin(ModifyComponents)
Plugin(ModifyComponents) modifies the components of the `TimeStep'-th time step in the view `View', using the expressions provided in `Expression0', ..., `Expression8'. If an expression is empty, the corresponding component in the view is not modified.@*
@*
The expressions can contain:@*
@*
- the usual mathematical functions (Log, Sqrt, Sin, Cos, Fabs, ...) and operators (+, -, *, /, ^);@*
@*
- the symbols x, y and z, to retrieve the coordinates of the current node;@*
@*
- the symbols Time and TimeStep, to retrieve the current time and time step values;@*
@*
- the symbols v0, v1, v2, ..., v8, to retrieve each component of the field in `View' at the `TimeStep'-th time step;@*
@*
- the symbols w0, w1, w2, ..., w8, to retrieve each 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'.@*
@*
If `TimeStep' < 0, the plugin automatically loops over all the time steps in `View' and evaluates the expressions for each one.@*
@*
If `OtherTimeStep' < 0, the plugin uses `TimeStep' instead.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
If `OtherView' < 0, the plugin uses `View' instead.@*
@*
Plugin(ModifyComponents) is executed in-place.
String options:
@table @code
@item Expression0
Default value: @code{"v0 * Sin(x)"}
@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}
@item ForceInterpolation
Default value: @code{0}
@end table

@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.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(ModulusPhase) is executed in-place.
Numeric options:
@table @code
@item RealPart
Default value: @code{0}
@item ImaginaryPart
Default value: @code{1}
@item View
Default value: @code{-1}
@end table

@item Plugin(NearToFarField)
Plugin(NearToFarField) computes the far field pattern from the near electric E and magnetic H fields on a surface enclosing the radiating device (antenna).@*
@*
Parameters: the wavenumber, the angular discretisation (phi in [0, 2*Pi] and theta in [0, Pi]) of the far field sphere and the indices of the views containing the complex-valued E and H fields. If `Normalize' is set, the far field is normalized to 1. If `dB' is set, the far field is computed in dB. If `NegativeTime' is set, E and H are assumed to have exp(-iwt) time dependency; otherwise they are assume to have exp(+iwt) time dependency. If `MatlabOutputFile' is given the raw far field data is also exported in Matlab format.@*
@*
Plugin(NearToFarField) creates one new view.
String options:
@table @code
@item MatlabOutputFile
Default value: @code{"farfield.m"}
@end table
Numeric options:
@table @code
@item Wavenumber
Default value: @code{1}
@item PhiStart
Default value: @code{0}
@item PhiEnd
Default value: @code{6.28319}
@item NumPointsPhi
Default value: @code{60}
@item ThetaStart
Default value: @code{0}
@item ThetaEnd
Default value: @code{3.14159}
@item NumPointsTheta
Default value: @code{30}
@item EView
Default value: @code{0}
@item HView
Default value: @code{1}
@item Normalize
Default value: @code{1}
@item dB
Default value: @code{1}
@item NegativeTime
Default value: @code{0}
@item RFar
Default value: @code{0}
@end table

@item Plugin(NearestNeighbor)
Plugin(NearestNeighbor) computes the distance from each point in `View' to its nearest neighbor.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(NearestNeighbor) is executed in-place.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@item Plugin(NewView)
Plugin(NewView) creates a new model-based view from the current mesh, with `NumComp' field components, set to value `Value'.@*
@*
If `ViewTag' is positive, force that tag for the created view.
String options:
@table @code
@item Type
Default value: @code{"NodeData"}
@end table
Numeric options:
@table @code
@item NumComp
Default value: @code{1}
@item Value
Default value: @code{0}
@item ViewTag
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'.@*
@*
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).@*
@*
The number of particles along U and V that are to be transported is set with the options `NumPointsU' and `NumPointsV'. The equation@*
@*
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.@*
@*
Time stepping is done using a Newmark scheme with step size `DT' and `MaxIter' maximum number of iterations.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Particles) creates one new view containing multi-step vector points.
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
Default value: @code{-1}
@end table

@item Plugin(Probe)
Plugin(Probe) gets the value of the view `View' at the point (`X',`Y',`Z').@*
@*
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}
@item View
Default value: @code{-1}
@end table

@item Plugin(Remove)
Plugin(Remove) removes the marked items from the view `View'.@*
@*
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}
@item View
Default value: @code{-1}
@end table

@item Plugin(Scal2Tens)
Plugin(Scal2Tens) converts some scalar fields into a tensor field. The number of components must be given (max. 9). The new view 'NameNewView' contains the new tensor field. If the number of a view is -1, the value of the corresponding component is 0.
String options:
@table @code
@item NameNewView
Default value: @code{"NewView"}
@end table
Numeric options:
@table @code
@item NumberOfComponents
Default value: @code{9}
@item View0
Default value: @code{-1}
@item View1
Default value: @code{-1}
@item View2
Default value: @code{-1}
@item View3
Default value: @code{-1}
@item View4
Default value: @code{-1}
@item View5
Default value: @code{-1}
@item View6
Default value: @code{-1}
@item View7
Default value: @code{-1}
@item View8
Default value: @code{-1}
@end table

@item Plugin(Scal2Vec)
Plugin(Scal2Vec) converts the scalar fields into a vectorial field. The new view 'NameNewView' contains it. If the number of a view is -1, the value of the corresponding component of the vector field is 0.
String options:
@table @code
@item NameNewView
Default value: @code{"NewView"}
@end table
Numeric options:
@table @code
@item ViewX
Default value: @code{-1}
@item ViewY
Default value: @code{-1}
@item ViewZ
Default value: @code{-1}
@end table

@item Plugin(ShowNeighborElements)
Plugin(ShowNeighborElements) sets visible some elements and a layer of elements around them, the other being set invisible.
Numeric options:
@table @code
@item NumLayers
Default value: @code{1}
@item Element1
Default value: @code{0}
@item Element2
Default value: @code{0}
@item Element3
Default value: @code{0}
@item Element4
Default value: @code{0}
@item Element5
Default value: @code{0}
@end table

@item Plugin(SimplePartition)
Plugin(SimplePartition) partitions the current mesh into `NumSlicesX', `NumSlicesY' and `NumSlicesZ' slices along the X-, Y- and Z-axis, respectively. The distribtion of these slices is governed by `MappingX', `MappingY' and `MappingZ', where `t' is a normalized absissa along each direction. (Setting `MappingX' to `t' will thus lead to equidistant slices along the X-axis.)@*
@*
The plugin creates the topology of the partitioned entities if `CreateTopology' is set.
String options:
@table @code
@item MappingX
Default value: @code{"t"}
@item MappingY
Default value: @code{"t"}
@item MappingZ
Default value: @code{"t"}
@end table
Numeric options:
@table @code
@item NumSlicesX
Default value: @code{4}
@item NumSlicesY
Default value: @code{1}
@item NumSlicesZ
Default value: @code{1}
@item CreateTopology
Default value: @code{1}
@end table

@item Plugin(Skin)
Plugin(Skin) extracts the boundary (skin) of the current mesh (if `FromMesh' = 1), or from the the view `View' (in which case it creates a new view). If `View' < 0 and `FromMesh' = 0, the plugin is run on the current view.@*
If `Visible' is set, the plugin only extracts the skin of visible entities.
Numeric options:
@table @code
@item Visible
Default value: @code{1}
@item FromMesh
Default value: @code{0}
@item View
Default value: @code{-1}
@end table

@item Plugin(Smooth)
Plugin(Smooth) averages the values at the nodes of the view `View'.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Smooth) is executed in-place.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@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.@*
@*
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').@*
@*
To produce a standard radiation pattern, set `Offset' to minus the radius of the sphere the original data lives on.@*
@*
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}
@item View
Default value: @code{-1}
@end table

@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.@*
@*
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).@*
@*
The number of points along U and V that are to be transported is set with the options `NumPointsU' and `NumPointsV'. The equation@*
@*
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.@*
@*
The time stepping scheme is a RK44 with step size `DT' and `MaxIter' maximum number of iterations.@*
@*
If `TimeStep' < 0, the plugin tries to compute streamlines of the unsteady flow.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(StreamLines) creates one new view. This view contains multi-step vector points if `OtherView' < 0, or single-step scalar lines if `OtherView' >= 0.
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 DT
Default value: @code{0.1}
@item MaxIter
Default value: @code{100}
@item TimeStep
Default value: @code{0}
@item View
Default value: @code{-1}
@item OtherView
Default value: @code{-1}
@end table

@item Plugin(Summation)
Plugin(Summation) sums every time steps of 'Reference View' and (every) 'Other View X'and store the result in a new view.@*
If 'View 0' < 0 then the current view is selected.@*
If 'View 1...8' < 0 then this view is skipped.@*
Views can have diffrent number of time steps@*
Warning: the Plugin assume that every views sharethe same mesh and that meshes do not move between time steps!
String options:
@table @code
@item Resuling View Name
Default value: @code{"default"}
@end table
Numeric options:
@table @code
@item View 0
Default value: @code{-1}
@item View 1
Default value: @code{-1}
@item View 2
Default value: @code{-1}
@item View 3
Default value: @code{-1}
@item View 4
Default value: @code{-1}
@item View 5
Default value: @code{-1}
@item View 6
Default value: @code{-1}
@item View 7
Default value: @code{-1}
@end table

@item Plugin(Tetrahedralize)
Plugin(Tetrahedralize) tetrahedralizes the points in the view `View'.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Tetrahedralize) creates one new view.
Numeric options:
@table @code
@item View
Default value: @code{-1}
@end table

@item Plugin(Transform)
Plugin(Transform) transforms the homogeneous node coordinates (x,y,z,1) of the elements in the view `View' by the matrix@*
@*
[`A11' `A12' `A13' `Tx']@*
[`A21' `A22' `A23' `Ty']@*
[`A31' `A32' `A33' `Tz'].@*
@*
If `SwapOrientation' is set, the orientation of the elements is reversed.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Transform) is executed in-place.
Numeric options:
@table @code
@item A11
Default value: @code{1}
@item A12
Default value: @code{0}
@item A13
Default value: @code{0}
@item A21
Default value: @code{0}
@item A22
Default value: @code{1}
@item A23
Default value: @code{0}
@item A31
Default value: @code{0}
@item A32
Default value: @code{0}
@item A33
Default value: @code{1}
@item Tx
Default value: @code{0}
@item Ty
Default value: @code{0}
@item Tz
Default value: @code{0}
@item SwapOrientation
Default value: @code{0}
@item View
Default value: @code{-1}
@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. Algorithm selects the old (0) or new (1) meshing algorithm.@*
@*
If `View' < 0, the plugin is run on the current view.@*
@*
Plugin(Triangulate) creates one new view.
Numeric options:
@table @code
@item Algorithm
Default value: @code{1}
@item View
Default value: @code{-1}
@end table

@item Plugin(VoroMetal)
Plugin(VoroMetal) creates microstructures using Voronoi diagrams.@*
@*

String options:
@table @code
@item SeedsFile
Default value: @code{"seeds.txt"}
@end table
Numeric options:
@table @code
@item ComputeBestSeeds
Default value: @code{0}
@item ComputeMicrostructure
Default value: @code{1}
@end table

@item Plugin(Warp)
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'.@*
@*
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}
@item View
Default value: @code{-1}
@item OtherView
Default value: @code{-1}
@end table

@end ftable
