Skip to content
Marc & Structures
Index

Save your progress

Enter your email and we will send a secure sign-in link. There is no password and the first link creates your account.

Demonstration ~10 min · ~42 min remaining

Quality and test case

Audit shape with SHPP, reuse the inherited test case, and clean up without destroying geometry.

Step 4 — Create the mesh audit record

Before solving, each mesh must demonstrate four properties:

*GET,n_nodes(i),NODE,0,COUNT
*GET,n_elems(i),ELEM,0,COUNT

ESEL,S,TYPE,,1
*GET,n_type1(i),ELEM,0,COUNT
ALLSEL,ALL

ESEL,S,MAT,,1
*GET,n_mat1(i),ELEM,0,COUNT
ALLSEL,ALL

The test passes only when:

n_elems = div_x*div_y*div_z
n_nodes = (div_x+1)*(div_y+1)*(div_z+1)
n_type1 = n_elems
n_mat1  = n_elems

This is how we connect M04 with M03: a finer mesh that loses its attributes is not an improvement of the same model, but another model.

Step 5 — Turn quality into a test

SHPP,DEFAULT
SHPP,ON
...
SHPP,SUMMARY
CHECK,ESEL,WARN
*GET,n_shape_bad(i),ELEM,0,COUNT
ALLSEL,ALL

SHPP,SUMMARY lists the shape-test summary for the selected elements. Then CHECK,ESEL,WARN does something especially useful: it deselects elements with no issues and retains only those that produce warnings or errors. Therefore, n_shape_bad=0 is a condition that can be checked automatically.

CHECK modifies the selection

If you do not execute ALLSEL,ALL afterward, the test case could operate only on the problematic elements or on an empty set.

Step 6 — The inherited test case

To measure convergence we need a physical response. The next block reuses the vertical route that you already executed in M00:

NSEL,S,LOC,X,0
D,ALL,ALL,0
ALLSEL,ALL

NSEL,S,LOC,X,beam_l
*GET,n_tip,NODE,0,COUNT
force_per_node=tip_force/n_tip
F,ALL,FY,force_per_node
ALLSEL,ALL

FINISH
/SOLU
ANTYPE,STATIC,NEW
SOLVE
FINISH

/POST1
SET,LAST
*GET,uy_tip(i),NODE,probe_node,U,Y

In M04 this block works like a laboratory instrument: all its inputs remain constants and only returns one reading. M05 will explain and audit the boundary conditions; M06, the solution and balance; M07, the extraction and validation of results.

The measurement node is selected by X=beam_l, Y=0 and Z=0. That coordinate exists in all meshes. Writing an ID would mix refinement with a change accidental of the observed point.