ELECTRA V4.0

ELECTRA solves the Rankine-Hugoniot shock jump conditions and the adiabatic compression / release equations to calculate state loci, for generic material models represented using the ARIADNE package. The code also solves simultaneous shock and release conditions in multiple materials to calculate the transmission and reflection of shocks from material interfaces, including impact and window release / reshock systems in planar geometry. The code solves oblique shock interactions with a boundary, in this version for equations of state only - the solution is not valid for materials with strength.

Some solution options allow the initial stress to be specified explicitly, instead of being calculated from the initial state. This allows internal evolution (e.g. complete chemical reaction) to be treated without an explicit evolution model. This is useful for convenient calculation of Chapman-Jouguet detonation, for instance.

Input manual

Input in ASCII, read from standard input. The program reads a library of materials, a set of parameters controlling the numerical solution algorithms, and a series of commands defining the problems to solve.

The library and control parameters are as follows:

diagnostic_flag: 0 for no diagnostics, increasing integers for increasing detail in diagnostic output

number_of_materials
For each:
   name
   type parameters (per ARIADNE)

Hugoniot parameters:
stress_tolerance		e.g. 1.0e-6
energy_growth_factor		e.g. 1.1
initial_energy_increment	e.g. 1.0e-5
maximum_iterations		e.g. 200
initial_compression		e.g. 1.01
compression_increment		e.g. 0.005

Adiabat parameters:
compression_increment		e.g. 0.005

Planar solution parameters:
compression_increment		e.g. 0.01
velocity_tolerance		e.g. 1.0e-4
stress_tolerance		e.g. 1.0e-4
minimum_compression		e.g. 1.0e-8

Oblique solution parameters:
compression_increment		e.g. 0.01
angle_tolerance			e.g. 1.0e-3
stress_tolerance		e.g. 1.0e-4
minimum_compression		e.g. 1.0e-8

Each command is followed by a set of parameters. The command end terminates the run. Commands are listed below. In each case, the first word is the command, followed by the appropriate set of parameters.

Shock Hugoniot
hugoniot
material_name (from material list)
Shock Hugoniot, overriding initial stress
hugoniot_specinit
material_name (from material list)
Isentrope (or adiabat)
isentrope
material_name (from material list)
Composite path
Initial conditions are specified, followed by a list of commands specifying stages in the loading or unloading, terminated with end.
path
material_name (from material list)
initial_state
initial_particle_speed
strain_rate

Each loading command is followed by a set of parameters, mostly the same. Possible loading commands and parameters are:

shock compression
shock
direction (1: compress to the right, -1: compress to the left)
stop_parameter (tau1/.../tau6/p/T/up/us/e/csq/c/comp/rho)
target_value_of_stop_parameter
target_tolerance_in_stop_parameter
output_switch (0: report endpoint only / 1: print intermediate points too)
shock compression with specified initial stress
shock_specinit
direction stop_parameter target_value target_tolerance output_switch
initial_stress (6 components of symmetric stress tensor: 11 22 33 23 12 31)
ramp compression
compress
direction stop_parameter target_value target_tolerance output_switch
ramp release
release
direction stop_parameter target_value target_tolerance output_switch
Planar interface
two-wave
(left) material_name state up
(right) material_name state up
strain_rate
Planar stack
wavestack
number_of_regions
For each:
   material_name state up
strain_rate
Oblique shock
oblique-shock
(incident) material_name state
(transmitted) material_name state
strain_rate
pressure0 pressure1 pressure_interval
angle0 angle1 angle_interval (degrees)