PETRIFY

Solution control and techniques

Beta command

This command is in the beta stage and the format may change over time.

*PETRIFY
"Optional title"
coid
entype, enid, $t_{on}$, $t_{off}$, multiple

Parameter definition

Variable
Description
coid
Command ID (optional)
entype
Entity type
options: P, PS
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
options:
0 $\rightarrow$ petrification can only be turned on and off once
1 $\rightarrow$ petrification can be triggered multiple times

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.

*UNIT_SYSTEM 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