Skip to content

Add HJC concrete model and impact examples - #440

Open
lililii124 wants to merge 2 commits into
pypr:mainfrom
lililii124:feat/hjc-concrete
Open

lililii124 wants to merge 2 commits into
pypr:mainfrom
lililii124:feat/hjc-concrete

Conversation

@lililii124

@lililii124 lililii124 commented Oct 1, 2026 •

Copy link
Copy Markdown

Adds HJC concrete to the solid mechanics workflow: pressure- and rate-dependent strength, a continuous three-region compaction EOS, irreversible damage, and a predictor/corrector step that restarts each stage from saved material histories. It reuses the existing Jaumann stress-rate and stress-momentum equations, including the out-of-plane normal stress for plane strain.

Includes a plane-strain block impact and a 3D Taylor impact example. The latter launches a 10 mm diameter, 20 mm long cylinder at 30 m/s against a frictionless rigid plane, with a 0.5 mm initial gap. Its default 0.5 mm spacing gives 12,640 particles, evolved to 60 microseconds. A local normal penalty equation supplies the wall contact. Both examples export particle fields and reproducible response plots.

Taylor impact: damage (top) and equivalent stress (bottom) at 20, 40 and 60 microseconds. The half-cylinder view exposes the interior; colours and positions are unfiltered.

Taylor impact damage and equivalent stress

Taylor impact contact force, mean axial velocity and mean damage

Validation:

  • Material tests compare the update with closed-form shear softening and analytical single-particle wall contact/rebound. They also cover compaction/unloading, EOS continuity, tensile cutoff, compiled 3D shear and finite rotation, and stage-history handling. Both impact cases are included in the standard example smoke tests.
  • CPU/OpenMP Taylor runs complete at 1 mm and 0.5 mm spacing. At 0.5 mm, halving the time step gives peak-normalized RMS differences of 0.0253% in force, 0.0148% in mean velocity and 0.0133% in mean damage. The final particle damage difference is 0.00208 RMS and 0.0232 maximum. Density remains positive, damage stays bounded and nondecreasing, and momentum changes agree with the wall impulse.
  • Refining spacing from 1 mm to 0.5 mm changes those curves by 5.59%, 4.95% and 2.98%. At fixed 1 mm spacing and time step, doubling wall stiffness changes the force peak from 34.66 to 47.57 kN. These sensitivities are documented; neither the force peak nor local damage is presented as a calibrated or spatially converged prediction.

The documentation includes the block-impact plots, reproduction commands, integration conventions and model references: Holmquist, Johnson and Cook (1993), Meyer (2011, ARL-TR-5556), and Taylor (1948) for the cylinder-impact method. Damage is local; fully damaged particles retain confined strength. Erosion, fracture-energy regularization and thermal effects are outside this change. GPU execution is not validated; Taylor history output requires a single process.

@lililii124 lililii124 changed the title Add HJC concrete model and block impact example Add HJC concrete model and impact examples Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant