Boundary Conditions

MPoint mechanical boundary conditions are normally applied to background nodes using mpoint node fix. The material points should extend into the fixed node region so that the intended support remains active during particle motion. Reapply boundary conditions after generating additional material points if new background nodes become active.

Axis-aligned boundaries in MPoint2D

For a model using \(x\) as horizontal and \(y\) as vertical, prevent normal motion on the vertical side boundaries and fix the base vertically:

mpoint node fix velocity-x 0 range position-x 0
mpoint node fix velocity-x 0 range position-x [model_width]
mpoint node fix velocity-y 0 range position-y 0

Fix the base in both directions when a fully fixed support is required:

mpoint node fix velocity (0,0) range position-y 0

Axis-aligned boundaries in MPoint3D

For a model using \(z\) as vertical:

mpoint node fix velocity-x 0 range position-x 0
mpoint node fix velocity-x 0 range position-x [model_length]
mpoint node fix velocity-y 0 range position-y 0
mpoint node fix velocity-y 0 range position-y [model_width]
mpoint node fix velocity-z 0 range position-z 0

A fully fixed base is specified by:

mpoint node fix velocity (0,0,0) range position-z 0

Plane-strain approximation in MPoint3D

A thin MPoint3D slice may approximate plane strain by suppressing out-of-plane velocity on the two thin faces:

mpoint node fix velocity-y 0 range position-y 0
mpoint node fix velocity-y 0 range position-y [model_thickness]

The remaining constraints must prevent rigid-body translation without unnecessarily restraining in-plane deformation.

Horizontal and vertical loaded boundaries

Prescribed nodal velocities may be applied with mpoint node fix by specifying a nonzero component. Use a sufficiently slow velocity for quasi-static loading and monitor kinetic energy or velocity magnitude.

; Downward loading in a 3D model with z vertical.
mpoint node fix velocity-z [-loading_velocity] ...
    range position-x [x1] [x2] position-z [top_z]

Remove or replace a prescribed condition before the next loading stage using the corresponding node-freeing command mpoint node free available in the command reference.

Inclined boundaries

For inclined boundaries, the prescribed constraints must cover all active background nodes along the supporting surface. If gaps remain between restrained nodes, or if the selected range does not fully overlap the material-point support, particles may pass through or fall away from the restrained region. The commands mpoint node fix and the associated range selections should therefore be applied carefully to include every node required to represent the inclined boundary. The boundary fixities should also be checked after material-point generation, movement, or zone conversion because newly activated nodes may require the constraints to be reapplied.

A fully fixed inclined boundary can be represented by selecting the nodes near the inclined surface and fixing all velocity components:

mpoint node fix velocity (0,0,0) range geometry-space 'InclinedSurface' ...

The exact range construction depends on the available geometry and range tools in the project.

A frictionless roller condition on an inclined boundary is more demanding because mpoint node fix fixes global velocity components. For a boundary with unit normal \(\mathbf{n}\), the desired condition is

\[\mathbf{v}\mathbin{\cdot}\mathbf{n}=0,\]

while tangential motion remains free. Do not replace this condition by fixing both global components unless a fully fixed boundary is intended. Suitable approaches are:

  • align the model axes with the inclined boundary and fix the corresponding global normal component;

  • retain an inclined zone boundary in a hybrid model and apply the zone normal boundary condition there;

  • implement and verify a FISH-based nodal constraint that projects velocity onto the tangential plane each cycle.

The FISH approach is an advanced boundary treatment and should be verified with a rigid sliding-block test before use in a production model.

Boundary-condition checks

Plot the active background nodes and their fixities. Confirm that the support remains active after large motion, and that corner nodes are not overconstrained by incompatible component conditions.