Supported boundary
OmniSolver MAPDL Interop consumes resolved finite-element state normally present in a Mechanical
ds.dat or ASCII CDWRITE file. It supports block and explicit forms for
nodes, elements, element types and options, material data, real constants,
sections, coordinate systems, components, constraints, equations, nodal/body/
surface loads, and analysis controls through SOLVE.
Bounded selection and array procedures are lowered only when they construct an unambiguous explicit model record. Geometry construction, meshing commands, macros, arbitrary APDL control flow, and postprocessing execution are not in the contract.
| Behavior | Contract |
|---|---|
| Unknown model mutation | Strict error; never silently ignored |
| Postprocessing command | Reported metadata; not executed |
| Restart/delta deck | Read for inspection; standalone write/emission/solve refused |
| Complex value | Preserved; static adapter rejects nonzero imaginary data |
| Coded Function Loader records | Retained for text round trip; not decoded or executed |
Saved .db database |
Rejected before content inspection |
| Solver operation | Owned entirely by the consuming solver |
Element names are translated to public neutral kernels by documented topology and analysis role. Optional orientation/load carrier nodes remain in the neutral source representation even when an adapter lowers them to destination-supported records. That lowering is a declared representation choice, not a claim of formulation or numerical equivalence.
OmniSolver-native formulation metadata is authored only through its public
Model.assign(ELEMENTS...) interface. QUAD4_SHELL explicitly selects
OmniSolver's public mitc4 transverse-shear option for reproducibility. This
is a destination formulation choice, not a statement about MAPDL internals;
all source element names and KEYOPT values remain intact for neutral and
MAPDL output.
For the optional OmniSolver adapter, linear plane-stress/strain PLANE183
edge pressures are integrated into consistent nodal forces using the published
face ordering, inward-positive convention, linear pressure distribution, and
two-point rule. Linear top/bottom and edge pressures on SHELL181/SHELL281
and full-360-degree pressures on axisymmetric SHELL208/SHELL209 are lowered
the same way from their published face conventions. With runnable projections
disabled, nonlinear follower pressure remains an explicit surface-load record
for a capable consuming solver and a missing destination owner fails closed.
One-row MPTEMP/MPDATA records are scalar properties, while two or more rows
remain temperature laws. Documented BEAM,RECT dimensions are converted to
area, bending inertias, and the Saint-Venant rectangular torsion constant; the
source section and orientation carrier remain unchanged in the neutral model.
*PREAD uses its published four-field, 20-column archive layout. Numeric fields
are decoded; nonnumeric fields are preserved as opaque parameter values and
written back at the same field width. They are never treated as commands,
paths to open, or executable expressions.
solve_dat() retains all recognized analysis controls, but its default
runnable_projections=True policy targets a model OmniSolver can execute:
- nonlinear
BEAM189is represented by two publicBEAM2elements joined at the documented midside node; - nonlinear
SOLSH190preserves the eight source nodes and is represented by publicHEX8; ARCLEN,ONis retained for output while execution uses OmniSolver's general load-controlled nonlinear route; and- nonlinear structural-solid and shell pressure outside that route's follower load envelope is integrated from the documented face-node order as a fixed, consistent reference-configuration nodal-load vector.
Per-node-varying structural face pressure is represented by its arithmetic mean on OmniSolver's public scalar-pressure carrier when runnable projections are enabled. The complete nodal profile remains in the neutral model and MAPDL writer output. Disabling projections preserves the varying destination profile and allows OmniSolver to issue a typed refusal when its selected whole-model drive cannot consume it.
For ordinary nonlinear, native continuation, and inverse-static dispatch, the
first documented NSUBST
field is carried as the requested increment count and NEQIT as the
per-increment equilibrium-iteration limit. For ordinary nonlinear solves,
AUTOTS
selects adaptive cutback, and the documented maximum/minimum NSUBST counts
become normalized minimum/maximum load-step bounds. An omitted AUTOTS uses
its documented ON default; AUTO leaves the destination selector automatic;
and explicit caller options still take precedence. If a public OmniSolver
element route refuses adaptive scheduling with Python's capability-specific
NotImplementedError, runnable mode emits a projection warning and retries
with the published initial NSUBST count as a fixed increment count. Convergence,
validation, backend, and option errors are not retried. This changes only
execution controls, never the neutral model or MAPDL writer output. NSUBST instead
controls the source arc-length radius when ARCLEN is active, so the projected
load-control route does not mislabel it as a load-step count; that route starts
with one full-load increment. Controls without an identical public OmniSolver knob remain
retained records rather than being approximately renamed.
These are explicit interoperability projections and emit
OmniSolverProjectionWarning; they are not claims of element-formulation or
solution-path equivalence. runnable_projections=False disables them:
BEAM189 remains BEAM3, SOLSH190 remains SOLID_SHELL_HEX8, and
ARCLEN,ON selects native arc-length continuation using the first NSUBST
field as its requested increment count. INVOPT,ON always selects native
inverse static and defaults to OmniSolver's public unsymmetric Pardiso factor,
as the published INVOPT
contract requires an unsymmetric solver; it is never relabeled as an ordinary
static solve. In strict mode, unsupported combinations fail with a typed solver refusal. MAXARC,
MINARC, and ARCTRM always remain losslessly available to readers and writers
and are never mislabeled as identical OmniSolver controls.