MAPDL migration#
Coming from MAPDL? This page consolidates every MAPDL- relevant entry-point into a single migration map so you don’t have to hunt for them across the docs tree.
The MAPDL compatibility layer is the most-frequently-exercised
foreign-deck path in femorph-solver, with the deepest binary-
format coverage. The full deep-dive lives at
MAPDL interop (where the analyst-
oriented walk-through belongs) and
MAPDL compatibility (the format-spec
table). This page is the hub that links them — symmetric with
NASTRAN migration, Abaqus migration, and LS-DYNA migration, so the
interop/ index reads coherently.
Reader entry points#
Source format |
Loader |
Returns |
|---|---|---|
MAPDL CDB (ASCII archive) |
|
|
MAPDL |
planned — #513 |
n/a today |
MAPDL |
|
reader handle, not a Model |
The CDB path is the canonical “I have an MAPDL workflow, take
me to a femorph-solver model” entry point. See
MAPDL interop for the full inspection-
and-assignment walk-through, and Frequently asked questions
for the common gotchas (missing materials in some decks,
KEYOPT translation rules, /UNITS detection).
The native .dat reader (#513) is the next
shipping interop addition — until it lands, run a MAPDL deck
through the CDWRITE command to produce the CDB.
APDL command shim#
When porting an APDL macro line-by-line the
femorph_solver.interop.mapdl.APDL wrapper exposes the
APDL command set one-for-one. MAPDL element catalogue names
("SOLID185" etc.) are translated to their neutral kernel
counterparts at this boundary; nothing downstream sees foreign-
deck spelling. See MAPDL interop for
the per-command coverage table.
The shim is for porting; for new work the native
Model primitives
(assign(),
fix(),
apply_force()) are the recommended
path.
Element-name translation#
Foreign-deck spellings stay at the import boundary. See the cross-vendor Cross-vendor terminology Rosetta table for the full Rosetta across MAPDL / NASTRAN / Abaqus / LS-DYNA. The MAPDL-side mappings:
MAPDL catalog |
femorph-solver kernel |
Notes |
|---|---|---|
SOLID185 |
HEX8 |
Default trilinear hex; the EAS variant
( |
SOLID186 |
HEX20 / WEDGE15 / PYR13 |
20-node serendipity hex; degenerate variants (15-node wedge, 13-node pyramid) auto-detect on connectivity length. |
SOLID187 |
TET10 |
10-node quadratic tet. |
BEAM188 |
BEAM2 |
Hermite-cubic Euler-Bernoulli with rectangular / circular / I / T cross-sections. |
LINK180 |
TRUSS2 |
Pure-axial 2-node link. |
PLANE182 |
QUAD4_PLANE |
2D bilinear quad. |
PLANE183 |
planned — #543 |
8-node serendipity quad. |
SHELL181 |
QUAD4_SHELL |
DKT shell. See Known limitations for the drilling-DOF caveat. |
SHELL281 |
planned — #552 |
8-node quadratic shell. |
COMBIN14 |
SPRING |
Linear axial spring. |
MASS21 |
POINT_MASS |
Translational lumped mass (rotational-inertia components are ignored with a warning). |
KEYOPT coverage#
The KEYOPT translation table is the most-frequently-asked- about interop detail. See MAPDL compatibility for the per-element / per-KEYOPT coverage matrix. The short version:
PLANE182 ``KEYOPT(1)`` — full / B-bar / EAS variants recognised.
BEAM188 ``KEYOPT(1)`` — cubic shape function recognised (the linear option falls through to BEAM2’s analytic form).
SHELL181 ``KEYOPT`` — full integration only; reduced- integration with hourglass control is on the roadmap.
Unrecognised KEYOPT combinations emit a warning and skip the element — see Vendor verification-manual coverage matrix for the per-deck round-trip status.
Boundary-condition cards#
The CDB reader translates BC cards to the native
Model API:
MAPDL card |
Native equivalent |
Notes |
|---|---|---|
|
|
Single-node Dirichlet. |
|
|
Mass Dirichlet across a coordinate filter. |
|
|
Single-node load. |
|
via |
Recognised; see #553 for the full coverage path. |
|
via the model’s coupling table |
Tracked under #518. |
|
planned — #516 |
On the roadmap. |
The Vendor verification-manual coverage matrix tracks which problems round-trip cleanly for each card.
Common migration patterns#
Three flows the team sees most often:
CDB → modal solve. Read a Mechanical APDL
.cdbfile withfemorph_solver.mapdl_api.from_cdb(), attach materials and BCs, and callModel.solve_modal.Native MAPDL run + cross-check against femorph-solver. See the Verification corpus for the side-by-side reference problems.
Pure APDL macro port. Use the
femorph_solver.interop.mapdl.APDLshim; see MAPDL interop for the command-by-command walk-through.
See also#
MAPDL interop — the full deep-dive on the CDB reader, the APDL command shim, and the binary- file path coverage.
MAPDL compatibility — the format-spec reference table.
Cross-vendor terminology Rosetta — cross-vendor Rosetta.
NASTRAN migration, Abaqus migration, LS-DYNA migration — equivalent migration deep-dives for the other commercial codes.
Vendor verification-manual coverage matrix — per-deck round-trip status.