Skip to content

Releases

dsh-abaqus 1.0.0

Choose a tag to compare

@feihong-li feihong-li released this 28 Sep 07:30

First release. Six DSH tools turn one declarative JSON model spec into solver input for two backends.

Abaqus backend — unverified

A generated CAE python script builds the real geometry, meshes it with the CAE mesher and writes the deck with writeInput, then the deck is solved with abaqus job= and the .odb is read through odbAccess.

This path has never been executed: no Abaqus installation or licence existed on the development machine. The script is generated, confirmed to be valid Python 3 by py_compile for four different model shapes, and hand-reviewed, but its CAE API calls are unproven against a live kernel.

CalculiX backend — verified end to end

A built-in structured mesher (box and cylinder, wedge core for a solid cylinder) writes a CalculiX/Abaqus deck directly and solves it with ccx. Reproduce everything with CCX_PATH=/path/to/ccx npm test.

Consistency:

  • the set names the deck declares are exactly the names the results reader accepts, with no *BOUNDARY / *CLOAD / *DLOAD card referencing an undeclared set
  • a spec region {"plane":"x=max"} selects exactly the nodes of the named set beam_xmax

Physics against independent numbers:

case check result
box + concentrated load tip deflection vs Euler-Bernoulli FE/theory = 0.876 at 20x2x2 (mesh-limited)
tube R20/r15, 5 MPa on the annular end FE sigma_zz = -p -5.0000 MPa
solid cylinder, y axis, C3D6 wedge core, gravity sigma vs rhogH = 2.119e-3 MPa 1.927e-3 MPa
clamped bar, freq step, 6 modes f1 vs Euler-Bernoulli 208.88 Hz 223.07 Hz (+6.8 %)

A 100x10x10 mm steel cantilever, 100 N tip load, against theory (tip deflection 0.190476 mm, outer-fibre bending stress 60.0 MPa):

element 80 elem 640 elem 5120 elem max von Mises (finest)
C3D8 0.878 0.968 0.994 58.96 MPa
C3D8R 1.180 1.042 1.013 50.32 MPa (0.84x theory)
C3D8I 0.997 1.001 1.003 65.06 MPa

Three findings worth knowing before choosing an element:

  • C3D8 is stiffer than beam theory at every mesh and converges from below. That direction is physically required: a fully clamped end suppresses Poisson contraction, so the beam really is stiffer than Euler-Bernoulli.
  • C3D8I (incompatible modes) is within 0.3 % of theory even on the coarsest mesh — the element to use for bending.
  • C3D8R (one integration point) is much softer and converges from above, and its reported nodal stress is the element-centre value: with few elements through the thickness it cannot resolve the bending gradient, reporting 50 MPa where the outer fibre sees 60. Its ZZ error estimate also degenerates to 0 %.

Requirements

Node >= 20 and a solver. CalculiX is free (GPL); Abaqus needs a licence. Set ccxPath / abaqusCommand in the plugin config, or let discovery find them.

Known limitations

box and cylinder geometry only; shell sections rejected rather than silently solved as solids; traction loads are Abaqus-only and untested; regions resolve by bounding box, so a face sharing a bounding plane with another face selects both and curved faces cannot be addressed.