"Optional title"
coid
entype, enid, $t_{on}$, $t_{off}$, multiple
Parameter definition
Variable | Description |
---|---|
coid | Command ID (optional) |
entype | Entity type |
enid | Entity identification number |
$t_{on}$ | Time or function (fcn) to activate petrification |
$t_{off}$ | Time or function (fcn) to deactivate petrification |
multiple | Flag to allow for multiple activation and deactivations |
Description
This command is used to temporarily or permanently turn deformable parts into rigid bodies. Elements in rigid bodies will not affect the critical time step size and the command is typically used to cut the computational cost.
The petrification is activated/deactivated at pre-defined times or on FUNCTION signals (positive value).
Example
Pre-fragmented IED
A pre-fragmented IED is detonated and some of its fragments strike an aluminium planel. All elements are turned rigid after the initial acceleration phase. They are kept rigid until the first fragment approaches the target. The rigid flight time can be significantly reduced by temporarily treating all fragments and the target plate as rigid bodies.

SI
*PARAMETER
D = 0.0094683, "fragment diameter"
R = %D/2, "fragment radius"
h = 0.75*%D, "fragment length"
r = 84.5e-3/2, "charge radius"
N1 = 28, "mesh parameter 1"
N2 = 5, "mesh parameter 2"
id = 0
*TIME
5.0e-4, 0, 0, 1.0e-6
#
# --- PETRIFY ---
#
*PETRIFY
"fragments"
1
PS, 12, 1.0e-5, fcn(1000)
*SET_PART
12
1, 2
#
# end petrification when first fragment passes x=0.28
*FUNCTION
1000
xmaxp(1,1,0,0) - 0.28
#
# --- MESH ---
#
~repeat %N2
~repeat %N1
*PARAMETER
%a = r2*360/%N1
%H = r1*(%D+%h)
%id = %id + 1
*COMPONENT_CYLINDER
[%id], 1, 1, 2
[%r*cos(%a)], [%r*sin(%a)], [%H], [%r*cos(%a)], [%r*sin(%a)], [%H+%h], [%R]
~end_repeat
~end_repeat
#
~repeat %N2+1
~repeat %N1
*PARAMETER
%a = r2*360/%N1
%H = r1*(%D+%h) - 0.5*%D
%id = %id + 1
*COMPONENT_CYLINDER
[%id], 1, 1, 2
[%r*cos(%a)-%h/2*sin(%a)], [%r*sin(%a)+%h/2*cos(%a)], [%H], [%r*cos(%a)+%h/2*sin(%a)], [%r*sin(%a)-%h/2*cos(%a)], [%H], [%R]
~end_repeat
~end_repeat
#
*COMPONENT_BOX
"target plate"
2, 2, 3, 100, 100
0.3, -0.2, -0.2, 0.31, 0.2, 0.2
*CHANGE_P-ORDER
ALL, 0, 3
*SMOOTH_MESH
ALL, 0, 50.0, 1
#
# --- MATERIAL ---
#
*MAT_METAL
"steel"
1, 7800.0, 210.0e9, 0.3
1, 0, 0, 0.1, 1.0
*FUNCTION
1
1200.0e6 + 1000.0e6*epsp^0.3
*MAT_METAL
"aluminium"
2, 2700.0, 70.0e9, 0.3, 2
2
*FUNCTION
2
300.0e6 + 300.0e6*(1 - exp(-5*epsp))
*PROP_DAMAGE_CL
2, 2
3.0e8
#
# --- PART ---
#
*PART
"fragments"
1, 1
"aluminium plate"
2, 2, 0, 0, 0, 0, 3.0
#
# --- HIGH EXPLOSIVES ---
#
*PARTICLE_DOMAIN
ALL, 0, 50000, 0, 0, 0, 5, 3.0e-5
-0.15, -0.15, -0.1, 0.15, 0.15, 0.2
*PARTICLE_HE
1
TNT, 2
#
# use fast=1 since detonation point is outside HE-domain
*PARTICLE_DETONATION
1
0, 0, 0.054, 0.0, 0, 1
*GEOMETRY_PIPE
2
0, 0, 0.002, 0, 0, 0.1, 0.01, 0.035
#
# -- CONTACT ---
#
*CONTACT
"P1 to P1"
1
P, 1, P, 1, 0, 1.0e13
*CONTACT
"P2 to P2"
2
P, 2, P, 2
*CONTACT
"P1 to P2"
3
P, 1, P, 2
*END