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 passes passes 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 mxp says.
  • A missing value is E0219 reported at the mxp keyword.

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.

James 0.3.1.

This site uses Just the Docs, a documentation theme for Jekyll.