Command manual

Command list

PETRIFY

Solution control and techniques
Attention: 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

VariableDescription
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 petrrification 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