mxp
The mxp command sets the largest number of passes James makes when it meshes a part.
Syntax
mxp <passes>
passes is a positive integer, 1 or more. The default is 4.
What it does
A pass is one run of the interpolation and projection steps over a whole part. Some parts need more than one, because one region’s boundary can lie inside another region, and each needs the other’s result. James runs a pass, compares every node with its place after the pass before, and runs another while any node still moves by more than a small tolerance, up to passes in all. A part that settles sooner stops sooner, whatever mxp says. Raising mxp costs time only.
When James applies it
When the part is meshed. James records the value in force when the part ends, so an mxp before endpart counts for that part, and the setting stays for later parts until you change it. It is legal in any phase: Control, Part or Merge.
Rules James adds
- A part that has not settled after
passespasses keeps the last pass’s result, with no error and no warning. - A pass is steps 4 to 21 of the hierarchy. Steps 1 to 3 run once, whatever
mxpsays. - A missing value is E0219 reported at the
mxpkeyword.
Diagnostics
- E0219: the number of passes is not a positive integer, or is missing.
Example
The script tests/corpus/112-mxp-intyp-syntax/input.tg, which make test runs:
mxp 2
intyp 2
block 1 2;1 2;1 2;0 1;0 1;0 1;
endpart
The IR holds mxp 2 intyp 2 on the part, the values that were in force when it ended. An mxp 3 written after the block and before endpart gives the part mxp 3 instead.
See also
- intyp: the other per-part setting of the meshing passes.
- Shaping a part: interpolation, projection and passes.