pressure-time functions air blast_jrc46829

Upload: renzo-cabrino

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    1/32

    PUBSY JRC 46829

    Pressure-Time Functions for theDescription of Air Blast Waves

    Martin Larcher

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    2/32

    The Institute for the Protection and Security of the Citizen provides researchbased, systems-oriented support to EU policies so as to protect the citizen against economic and technologicalrisk. The Institute maintains and develops its expertise and networks in information,communication, space and engineering technologies in support of its mission. The strongcrossfertilisation between its nuclear and non-nuclear activities strengthens the expertise it canbring to the benefit of customers in both domains.

    European Commission

    Joint Research CentreInstitute for the Protection and Security of the Citizen

    Contact informationAddress: Martin Larcher, T.P. 480, Joint Research Centre, I-21027 Ispra, ITALYE-mail: [email protected].: +390332789004Fax: +390332789049

    http://ipsc.jrc.ec.europa.euhttp://www.jrc.ec.europa.eu

    Legal NoticeNeither the European Commission nor any person acting on behalf of the Commission isresponsible for the use which might be made of this publication.

    A great deal of additional information on the European Union is available on the Internet.It can be accessed through the Europa serverhttp://europa.eu/

    JRC 46829

    European Communities, 2008

    Reproduction is authorised provided the source is acknowledged

    Printed in Italy

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    3/32

    CONTENTS

    1 Introduction ................................................................................................................................... 42 Air Blast Waves ............................................................................................................................. 5

    2.1 Introduction .......................................................................................................................... 5

    2.2 Literature Data ..................................................................................................................... 6

    2.2.1 Maximum Pressure........................................................................................................... 8

    2.2.2 Impulse ............................................................................................................................. 9

    2.2.3 Negative Phase ................................................................................................................. 9

    2.2.4 Wave Form Parameter ................................................................................................... 11

    3 Air Blast Loading Function in EUROPLEXUS .......................................................................... 13

    3.1 Used Function .................................................................................................................... 13

    3.2 Implementation .................................................................................................................. 13

    3.3 AIRB and Debris ................................................................................................................ 143.4 AIRB for Z>40 ................................................................................................................... 14

    3.4.1 Arrival Time ................................................................................................................... 15

    3.4.2 Peak Pressure ................................................................................................................. 15

    3.4.3 Time of Duration ............................................................................................................ 16

    4 External Program for AIRB Calculations.................................................................................... 18

    5 Conclusion ................................................................................................................................... 20

    6 References ................................................................................................................................... 21

    7 Apendix ....................................................................................................................................... 22

    7.1 EUROPLEXUS Code ........................................................................................................ 22

    7.2 AIRB Program ................................................................................................................... 27

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    4/32

    4

    1 Introduction

    This work is being conducted in the framework of the project RAILPROTECT, which deals with

    the security and safety of rail transport against terrorist attacks. The bombing threat is only

    considered, and focus is placed on predicting the effects of explosions in railway and metro stations

    and rolling stock and on assessing the vulnerability of such structures.

    The project is based on numerical simulations, which are carried out with the explicit Finite

    Element Code EUROPLEXUS that is written for the calculation of fast dynamic fluid-structure

    interactions. This code has been developed in a collaboration of the French Commissariat

    l'Energie Atomique (CEA Saclay) and the Joint Research Centre of the European Commission (JRC

    Ispra).

    There are several possibilities to simulate explosions, e.g., in trains and stations. The fasted one is to

    neglect the influence of the air and to use only the structural part of the geometry. Then, the

    behaviour of the explosion can be simulated by using a pressure-time function, which can be

    applied on the structure. This technical note presents the pressure-time functions, which are

    implemented in EUROPLEXUS. In addition to this implementation, an external routine is

    developed, which allows the calculation of several values of the pressure-time function. This

    program allows also to calculate, e.g., the charge by a given peak pressure and positive impulse,which is helpful by fitting experiments to a pressure-time function.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    5/32

    5

    2 Air Blast Waves

    2.1 Introduction

    The pressure that arrives at a certain distance from the explosive depends on the distance and on the

    size of the explosive. The form of the pressure wave can be idealised with the form presented in

    Figure 1.

    p

    p

    p

    p

    0

    min

    max

    ta

    t

    td tn

    Figure 1: Pressure-time curve for a free air blast wave

    The main characteristics of the development of this pressure wave are the following:

    - The arrival time ta of the shock wave to the point under consideration. This includes the time

    of the detonation wave to propagate through the explosive charge.

    - The peak overpressure pmax. The pressure attains its maximum very fast (extremely short

    rise-time), and then starts decreasing until it reaches the reference pressure po (in most cases

    the normal atmospheric pressure).

    - The positive phase duration td, which is the time for reaching the reference pressure. After

    this point the pressure drops below the reference pressure until the maximum negative

    pressure pmin. The duration of the negative phase is denoted as tn.

    - The incident overpressure impulse, which is the integral of the overpressure curve over the

    positive phase td.

    All these parameters can be found in several diagrams, equations and tables. These parameters are

    presented later.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    6/32

    6

    The form of this pressure-time curve can be described by the modified Friedlander equation (see

    e.g. Baker [1]) and depends on the time t, which starts at the arrival of the pressure wave at this

    point (0 at t t ):

    0 max( ) 1

    d

    bt

    t

    d

    tp t p p

    t(1)

    The parameter b describes the decay of the curve.

    All parameters of the pressure-time curve are normally written in terms of a scaled distance:

    3

    dZ

    W(2)

    where W is the mass of the explosive charge and d the distance from the centre of the charge.

    Beside much more complex geometries four conditions can be distinguish:

    Spherical incident: No boundaries violate the development of the air blast wave. The

    pressure is determined without a reflection on a body.

    Spherical reflected: The pressure is determined considering the reflection of the

    wave on a surface orthogonal to the wave development. The pressure increases due

    to the additional pressure resulting from the stopping of the material velocity.

    Hemispherical incident: The explosive lays on a ground. By neglecting any effects

    on the ground (displacements), the charge is doubled compared to the spherical case.

    More realistic is a value of approx. 1.8, which takes also into account the destruction

    of the ground.

    Hemispherical reflected: Combination of hemispherical and reflected conditions.

    2.2 Literature Data

    All parameters for the pressure-time curve can be taken from several diagrams and equations. Only

    the literature, which is implemented in EUROPLEXUS, is shown here.

    The following literature is used mainly:

    Kingery [5]: Experimental diagrams up to Z = 40 (see Figure 2). These diagrams are also

    described by several polynomial equations. These equations can only be used up to Z = 40.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    7/32

    7

    Kinney [6]: Equations for conventional and nuclear explosions. These equations have no

    limitations.

    Baker [2]: Diagrams similar to them from Kingery. The diagrams are available up to Z =

    1000.

    Figure 2: Model of Kingery [5] with scaled distances

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    8/32

    8

    The Kingerys equations for the pressure seem to be not correct for the reflected, hemispherical

    case. The equation for the reflected, spherical condition should therefore be used with a factor of

    1.8 for the charge.

    2.2.1 Maximum Pressure

    Kingery [5], Kinney [6], and Baker [2] present diagrams for the maximum (peak) pressure. All

    diagrams used a double logarithmic scale. Kingery and Kinney present also equations for the peak

    pressure.

    The equations of Kingery enjoy the greatest overall acceptance and are widely used as reference by

    most researchers. They are available for incident and reflected as well as for spherical and

    hemispherical conditions up to a scaled distance of 40 m/kg1/3. The diagrams of Baker can be used

    as an alternative. They are available up to Z = 1000 m/kg1/3.

    The equation proposed by Kinney [6] describes the overpressure-distance relation for chemical

    explosions as:

    2

    max

    2 2 20

    808 14.5

    1 1 1

    0.048 0.32 1.35

    Z

    p

    p Z Z Z

    (3)

    Figure 3 shows the small differences between the equations of Kingery and Kinney.

    Figure 3: Difference of the model of Kingery and the model of Kinney with 1kg TNT

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    9/32

    9

    2.2.2 Impulse

    The impulse of the air blast wave has a big influence on the response of the structures. The impulse

    is defined here as the area under the pressure-time curve with the unit of pressure * s. The impulse

    can be calculated with (Kinney [6]):

    4

    1/33

    2 33

    0.067 1 ( / 0.23)100 with [ ], [ / ], [ ]

    1 ( /1.55)

    ZI W I Pa s Z m kg W kg

    Z Z

    (4)

    Another possibility is the polynomial equation of Kingery [5]. The comparison of the impulse

    resulting from both equations shows that the equation of Kinney simplifies the curve of the impulse

    between a scaled distance of 0.5 and 1.5 m/kg1/3.

    0

    200

    400

    600

    800

    0 0.5 1 1.5 2 2.5 3

    scaled distance [m/kg1/3

    ]

    imp

    ulse[Pasec]

    Kinney

    Kingery

    Figure 4: Different equations for the impulse (Kinney [6] and Kingery [1])

    2.2.3 Negative Phase

    Detonations produce an overpressure peak, and afterwards the pressure decreases and drops below

    the reference pressure (generally the atmospheric pressure). The influence of the so-called negative

    phase depends on the scaled distance. For scaled distances Z larger than 20 and especially for Z

    larger than 50 the influence of the negative phase cannot always be neglected. The size of the

    positive impulse and of the negative impulse is then nearly the same. If the structure can react

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    10/32

    10

    successfully to the positive pressure but is more sensitive to a negative pressure, failure of parts of

    the structure can result from this negative pressure phase (see Krauthammer [7]). However, in

    several cases the negative phase is neglected e.g. in the air blast function of the CONWEP-Code.

    The size of the negative pressure as well as the duration of the negative part can be taken from a

    diagram (see Figure 5) from Drake [3] (also shown from Krauthammer [7]). Drake has used

    experimental data to obtain this diagram. The diagramm can be approximated by:

    5

    min

    4

    min

    1/3

    0.3510 Pa for 3.5

    10 Pa for 3.5

    with Z [m/kg ]

    p ZZ

    p Z

    (5)

    The duration of the negative phase tn in the diagram of Krauthammer can be described with the

    following function:

    1/ 3

    1/ 3

    1/ 3

    1/3

    0.0104 [s] for 0.3

    0.003125 log( ) 0.01201 [s] for 0.3 1.9

    0.0139 [s] for 1.9

    with Z [m/kg ], W [kg]

    n

    n

    n

    t W Z

    t Z W Z Z

    t W Z

    (6)

    Figure 5: Different parameters for the negative phase (from Krauthammer [7])

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    11/32

    11

    The form of the negative phase is approximated by a bilinear equation (see also Figure 6):

    0 max

    0

    0

    0

    1 for

    2( ) for

    2

    2( ) for

    2

    for

    d

    bt

    t

    d

    d

    min nd d d

    n

    min n

    d n d d n

    n

    d n

    tp p p t t

    t

    p tp p t t t t t t

    t

    p tp p t t t t t t t t

    t

    p p t t t

    (7)

    Figure 6: Pressure-time curve for a free air blast wave approximation of the negative phase

    2.2.4 Wave Form Parameter

    The decay or form parameter b in the Friedlander equation (1) describes the decay of the pressure-

    time curve.

    Kinney [6] and Baker [2] calculate the parameter b by using the impulse of the positive phase. This

    is also done in a former report Larcher [8]. The differences are shown in Figure 7.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    12/32

    12

    0

    2

    4

    6

    8

    10

    0 5 10 15 20 25 30 35 40

    Z [m/kg1/3

    ]

    b[-]

    Kinney

    Baker

    Parameter b by using the impulse of thepostive phase

    Figure 7: Wave form parameter b different methods

    The exponential trend line for the curve generated by the impulse function has the following

    equation:

    1.1975

    1/3

    5.2777

    with Z [m/kg ]

    b Z

    (8)

    The presented equations describe the complete behaviour of an air blast wave under spherical or

    hemispherical conditions.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    13/32

    13

    3 Air Blast Loading Function in EUROPLEXUS

    There are several simulation models for air blast waves (see technical note, Larcher [8]). One

    possibility is a calculation, which uses only the structural part. The behaviour of the explosive and

    the behaviour of the intermediate air are considered by using a pressure-time function.

    The pressure-time function is applied by using an impedance material (IMPE), which can be used

    with special elements to load a structure. The name of this material is AIRB. The pressure-time

    functions shown in chapter 2 are implemented.

    3.1 Used Function

    The modified Friedlander equation (1) is used for the implementation. Both, the parameters of

    Kingery [5] and Baker [1] are implemented for the maximum pressure. The values of Kingery are

    used for both types to calculate the arrival time and the time of duration.

    The decay parameter b is calculated using the formula in section 2.2.4.

    The Friedlander equation can not be used for the negative part of the pressure-time function.

    Therefore, the procedure presented in section 2.2.3 is used to calculate the negative pressure pmin

    and the duration of the negative phase tn. The form of the negative part is represented with a bilinear

    curve. The pressure before and after the positive and negative phase is set to 0 Pa.

    The loading of the air blast wave acts in a short time. If big elements are used, the time steps

    calculated by using the size of the elements could be too long to resolve the peak pressure.

    Therefore, the time step in the positive phase is chosen to the twentieth part of the time of duration.

    3.2 Implementation

    There are several possibilities to adapt the pressure-time function in EUROPLEXUS:

    The location of the charge can be defined by choosing a node with the keyword NODE.

    Alternatively, the coordinates of the charge can be given by using the keywords X, Y, and

    Z.

    The mass of the charge (in kg) has to be specified with the keyword MASS.

    The function for the peak pressure (Kingery, Kinney) can be chosen by the keyword CONF.

    The keyword OPOS indicates a pressure-time function, which uses only positive values and

    disregards the negative part of the wave. In this part, the pressure is set to 0 Pa. This feature

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    14/32

    14

    could be helpful for shock tube tests, which show a behaviour similar to air blast waves in

    the positive part but not in the negative part.

    The start time of the detonation can be defined with TINT. The default value is 0 s. To avoid

    a long calculation of the structure without any loading of the structure (up to the arrival of

    the air blast wave to the first element loaded), the start time of the detonation con be defined

    as negative. This can also be done automatically in a way that the calculation starts shortly

    before the air blast wave reaches the first element. The keyword TAUT indicates this

    automatic start time.

    Details are described in the EUROPLEXUS Users Manual [4].

    3.3 AIRB and DebrisEUROPLEXUS provides the possibility to develop flying particles (so-called debris) from failed

    elements. This can be used to simulate the behaviour of glass splinters after the failure of the glass.

    A debris has only a diameter and a mass. The influence of the air blast on the debris should also be

    considered. Due to the fact that the geometry of the debris is not known especially the size of the

    surface, which is loaded by the air blast wave an intermediate value between the minimum surface

    and the maximum surface of the debris can be chosen for the calculation of the AIRB parameter.

    For each shell element and beam element a minimum and a maximum area are estimated. By using

    the keyword AFLY the minimum (AFLY = 0.0) or the maximum (AFLY = 1.0) value is used.

    Values of ALFY between 0.0 and 1.0 interpolate linearly between these two values. The default

    value is 0.5. This possibility is only available for shell elements. For solid elements, the cross

    section of the debris is used.

    3.4 AIRB for Z>40

    The equation from Kingery [5] are not applicable for values of Z>40 (polynomial base). Due to the

    fact, that the debris are also loaded from the AIRB command and the distance of the debris to the

    charge could be big, the values for bigger scaled distances should be available also for the AIRB

    command.

    Several assumptions are done for the arrival time, the peak pressure and the time of duration. The

    negative part of the equation is not changed due to the fact that these equations are not polynomial

    one.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    15/32

    15

    3.4.1 Arrival Time

    The arrival time for a scaled distance Z>40 is calculated in a way, that the sound velocity is used

    from reaching the scaled distance of Z=40 m/kg1/3. This is done by the following equation:

    ( ) ( 40)( ) ( 40)343 m/s

    a a

    d Z d Z t Z t Z (9)

    3.4.2 Peak Pressure

    For the peak pressure, the equations of Kinney [6] can be used. This equation does not use

    polynomial base and therefore, this equation does not have a limit. The diagram of Baker [2] shows

    for the peak pressure (incident as well as reflected condition) a quasi linear behaviour in the double

    logarithmic scale. This linear curve is used to expand the equations from Kingery also for higher

    distances. The hemispherical case is considered by using a factor 2.0 of spherical case.

    The incident pressure can be approximated with:

    p = 10 -1.10 log(Z) + 5.00 for Z>40 m/kg1/3

    The junction between both parts of the equations (Kingery [5] and Baker [2]) is not possible on an

    analytic way. It can be shown (see Figure 8) that the difference between both equations is very

    small in the range of Z=40 m/kg1/3. Therefore, the equation of Baker is used for values Z>40

    without any intersection to the equation of Kingery.

    1000

    1500

    2000

    2500

    3000

    3500

    4000

    10 20 30 40 50 60 70 80 90 100

    Z [m/kg1/3

    ]

    p

    [Pa]

    Kingery

    Baker

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    16/32

    16

    Figure 8: Comparison between the equations of Kingery and Baker for incident peak pressure

    The reflected peak pressure of Baker can be approximated with:

    p = 10-1.147 log (Z) + 5.375 Pa for Z>40 m/kg1/3

    The comparison between the curve of Kingery and the curve of Baker in the range of Z=40 shows

    (Figure 9) that an intersection is also not necessary for the reflected pressure.

    0

    4000

    8000

    12000

    16000

    20000

    0 10 20 30 40 50 60 70 80 90 100

    Z [m/kg1/3

    ]

    p[Pa]

    Kingery

    Baker

    Figure 9: Comparison between the equations of Kingery and Baker for reflected peak pressure

    3.4.3 Time of Duration

    The time of duration in the diagram of Baker can also be approximated with a line, which has the

    following equation:

    td = 100.230 log(Z) - 2.594 s for Z>40 m/kg1/3

    There is a bigger difference in the time of duration between Kingery and Baker. Both curves not cut

    themself. Therefore, for values Z>40 the diagram of Baker is used accepting a step at this point.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    17/32

    17

    0

    2

    4

    6

    8

    10

    0 10 20 30 40 50 60 70 80 90 100

    Z [m/kg1/3

    ]

    t[ms]

    Kingery

    Baker

    Figure 10: Comparison between the equations of Kingery and Baker for time of duration

    All these functions are implemented in the AIRB command in EUROPLEXUS for values of

    Z>40 m/kg1/3.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    18/32

    18

    4 External Program for AIRB Calculations

    The functions described in chapters 2 and 3 are implemented in EUROPLEXUS. Sometimes these

    values are also needed e.g. only for one point. To simplify the calculation of these values, a small

    program is written (airb.f), which uses the same subroutine for the calculation of the parameter as

    EUROPLEXUS.

    In addition, this program can be used for several special calculations. The units used for this

    program are: s, kg, Pa. The names of the parameters and their units are shown in Table 1.

    Parameter Description Unit

    Z_BLAST scaled distance m/kg1/3

    P_MAX peak pressure Pa

    T_START arrival time s

    T_D time of duration (positive) s

    P_NEG minimum pressure Pa

    T_NEG time of duration (negative) s

    B_BLAST form parameter b -

    I_POS positive impulse Pa s

    D distance m

    CHARGE charge kg

    P pressure Pa

    Table 1: Parameters of the program AIRB

    The program has the following possibilities:

    Main values (1): scaled distance, peak pressure, arrival time, time of duration of the positive

    phase, positive impulse, minimum pressure, time of duration of the negative phase, form

    parameter

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    19/32

    19

    Function of distance: (2): for a given charge, several parameters can be calculated as a

    function of the distance.

    Pressure-time curve (3): for a given distance and charge, the pressure-time function is

    calculated.

    Pressure-distance curve (4): for a given time and charge, the pressure is calculated as a

    function of the distance. This results in the form of the wave at a certain time.

    Given: P_MAX Z_BLAST (5): this function interpolates the pressure-distance function

    to get for a maximum pressure the corresponding scaled distance. To get also the charge and

    the distance, a second parameter is needed (see 6)

    Given: P_MAX, I_POS

    D, CHARGE (6): this function calculates the scaled distanceand, in addition to the function 5, also the distance and the charge by using the positive

    impulse. If the peak pressure and the positive impulse are coming from experiments, the

    result should be compared with the time of duration (if given) to see the correspondence.

    Given: I_POS, CHARGE D, Z_BLAST (7): this function calculates the distance (and

    also the scaled distance) for a given charge and a given positive impulse.

    All calculations need the input of the equation chosen. This could be a Kingery or a Kinney

    approximation with several conditions (spherical/hemispherical/incident/reflected). For the

    functions 2, 3, and 4 also the range for the output and the step size has to be defined.

    The output can also be done into a file.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    20/32

    20

    5 Conclusion

    The usage of a pressure-time function for a structure loaded by an air blast wave is a very effective

    method. Indeed, this method neglects the influence of reflections, shadowing and channelling.

    The AIRB function, used in EUROPLEXUS is presented, which uses several equation from the

    literature to describe an air blast wave. The AIRB function is also used from the batch program

    airb.exe. This program is helpful to determine the parameters of an air blast wave in an easy way

    and allows also the calculation of missing air blast parameters, if only some of them are given.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    21/32

    21

    6 References

    [1] Baker, Wilfrid E.: Explosions in the Air, University of Texas Pr., Austin, 1973.

    [2] Baker, W.E.; Cox, P.A.; Westine, P.S.; Kulesz, J.J.; Strehlow, R.A.: Explosion Hazards and

    Evaluation, Elsevier, Amsterdam, 1983.

    [3] Drake, J.; Twisdale, L.; Frank, R.; Dass, W.; Rochefort, M.; Walker, R.; Britt, J.; Murphy, C.;Slawson, T.; Sues, R.: Protective construction design manual, Tech. Rep. ESL-TR-87-57, Air

    Force Engineering and Services Center, Tyndall Air Force Base, Florida (1989).

    [4] EUROPLEXUS, Users Manual, online version.

    [5] Kingery, Charles N.; Bulmash, Gerald: Airblast Parameters from TNT Spherical Air Burstand Hemispherical Surface Burst, Defence Technical Information Center, Ballistic Research

    Laboratory, Aberdeen Proving Ground, Maryland, 1984.

    [6] Kinney, Gilbert F.; Graham, Kenneth J.: Explosive Shocks in Air, Springer, Berlin, 1985.

    [7] Krauthammer, T.; Altenberg, A.: Negative phase blast effects on glass panels, InternationalJournal of Impact Engineering, 24 (1), pp. 1-18; 2000.

    [8] Larcher, M.: Simulation of the Effects of an Air Blast Wave. JRC Technical Note, PubsyJRC41337, Ispra 2007.

    [9] Protective Design Center, United States Army Corps of Engineers: CONWEP, ConventionalWeapons Effects, https://pdc.usace.army.mil/software/conwep/, 22.May 2007.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    22/32

    22

    7 Apendix

    7.1 EUROPLEXUS Code

    m_material_i_airb.ffC M_MATERIAL_I_AIRB TOUS FCASADEI 08/07/2502:11:54

    MODULE M_MATERIAL_I_AIRB*

    * material of type "air blast" (16_26)*

    USE M_MATERIALS

    USE M_MATERIALS_ARRAY*

    IMPLICIT NONESAVE

    *

    PRIVATEPUBLIC :: MI_AIRB, CL_AIRB, INIT_AIRB

    *CONTAINS

    *=============================================SUBROUTINE MI_AIRB (INUMLDC, X)

    * ------------------------------------------------------------------* impedance : air blast m.larcher 04-07* ------------------------------------------------------------------

    * iop=26 (airb)* xmut(1) = x-coordinate of explosive charge* xmut(2) = y-coordinate of explosive charge

    * xmut(3) = z-coordinate of explosive charge* xmut(4) = mass of explosive charge (in kg)

    * xmut(5) = initial time of the explosion

    * xmut(6) = choose of different explosion models* 1 = unconfined (full space), reflected (kingery)* 2 = unconfined (full space), not reflected (kingery)* 3 = unconfined (full space), not reflected (baker)

    * 4 = half-confined (half space), reflected (kingery)* 5 = half-confined (half space), not reflected

    (kingery)* xmut(8) = flag for only positive pressure

    *INCLUDE 'NONE.INC'

    *

    INCLUDE 'CARMA.INC'INCLUDE 'CONTRO.INC'INCLUDE 'POUBTX.INC'

    INCLUDE 'REDCOM.INC'*

    *----- variables globales :INTEGER, INTENT(IN) :: INUMLDC

    REAL(8), INTENT(IN) :: X(IDIM,*)*

    *----- variables locales :INTEGER, PARAMETER :: NMOT=9 , LENX=8 , LENI =

    1

    CHARACTER*4 :: MOT(NMOT)INTEGER :: KOPT(NMOT), IOP, IH, NC(NPTL), NODELOGICAL :: IMPRIM

    *DATA MOT/'X ','Y ','Z

    ','MASS','TINT','CONF','NODE',& 'TAUT','OPOS'/

    *INTEGER, PARAMETER :: N_MSG = 8 , LG_FMT = 350

    CHARACTER(LG_FMT) :: GET_FMT(N_MSG)*IF FRANCAIS

    CHARACTER(32), PARAMETER :: NOM='IMPEDANCE

    (EXPLOSION EN AIR)'DATA GET_FMT(:) /

    >'X-COORD DE LA CHARGE',>'Y-COORD DE LA CHARGE',>'Z-COORD DE LA CHARGE',

    >'MASSE DE LA CHARGE',>'TEMPS INITIAL DE L EXPLOSION',>'CONFINEMENT (1=LIBRE, REFLECHIE, KINGERY,

    >2=LIBRE, NO REFLECHIE,KINGERY,>3=LIBRE, REFLECHIE,BAKER,

    >4=DEMI-ESPACE, REFLECHIE,KINGERY,>5=DEMI-ESPACE, NO REFLECHIE,KINGERY)',

    >'NOEUD DE LA CHARGE',>'ONLY POSITIVE PRESSURE?'/

    CELSE

    CHARACTER(32), PARAMETER :: NOM='IMPEDANCE(AIR BLAST)'

    DATA GET_FMT(:) />'X-COOR OF THE CHARGE',>'Y-COOR OF THE CHARGE',

    >'Z-COOR OF THE CHARGE',>'MASS OF THE CHARGE',

    >'INITIAL TIME OF THE EXPLOSION',>'CONFINEMENT (1=UNCONFINED,

    REFLECTED,KINGERY,>2=UNCONFINED, NOT REFLECTED,KINGERY,

    >3=UNCONFINED, REFLECTED,BAKER,>4=HALF-SPACE, REFLECTED,KINGERY,>5=HALF-SPACE, NOT REFLECTED,KINGERY)',

    >'NODE OF THE CHARGE',>'ONLY POSITIVE PRESSURE?'/

    CENDIF*

    CALL CREATE_MATERIAL (LENX, LENI, 0)

    NEWMAT%NAME = NOMNEWMAT%TYPE = 16 !! IMPEDANCE

    NEWMAT%MATENT(1) = 26 !! NUMERO DEL'IMPEDANCE

    NEWMAT%NUMLDC = INUMLDCNEWMAT%LGECR = LGECR(NEWMAT%TYPE)

    **----- lecture des parametres! CALL

    LIRVAL(NMOT,MOT,NEWMAT%MATVAL,KOPT)

    KOPT(:) = 0*

    11 CALL LIRMOT (MOT, NMOT, IOP)IF (IOP > 0) THENKOPT(IOP) = 1

    SELECT CASE (IOP)CASE (1:4,6) ! X, Y, Z, MASS, TINT, CONF

    CALL LIRE(3)NEWMAT%MATVAL(IOP) = DPREC

    CASE (5) ! TINTIF (KOPT(8) /= 0) THEN

    CALL ERRMSS('MAT_AIRB',> 'TINT AND TAUT CANT BE USED

    TOGETHER')

    STOP 'MAT_AIRB 5'ENDIF

    CALL LIRE(3)NEWMAT%MATVAL(IOP) = DPREC

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    23/32

    23

    CASE (7) ! POIN

    CALL LIRLEC (1, NC, IH)IF (IH /= 1) THENCALL ERRMSS('MAT_AIRB','ONLY ONE NODE

    MUST BE GIVEN')STOP 'MAT_AIRB 4'

    ENDIF

    NEWMAT%MATVAL(IOP) = NC(1)CASE (8) ! TAUTIF (KOPT(5) /= 0) THEN

    CALL ERRMSS('MAT_AIRB',> 'TINT AND TAUT CANT BE USED

    TOGETHER')

    STOP 'MAT_AIRB 5'ENDIFNEWMAT%MATVAL(5)=HUGE(0.D0) ! TAUT

    CASE (9) ! OPOSNEWMAT%MATVAL(8)=1.D0 ! TAUT

    END SELECTGO TO 11

    ENDIF

    **----- donnees completes ? (1, 2, 4 ou 4, 7 indispensables)

    IF((KOPT(1)+KOPT(2)+KOPT(4)) /= 3) THEN

    IF((KOPT(4)+KOPT(7)) /= 2) THENWRITE(BLABLA,1001)CALL ERRMSS('MAT_AIRB',BLABLA)

    STOP 'MAT_AIRB 3'ENDIF

    ENDIF

    ** consistency checks

    IF (KOPT(1)+KOPT(7) == 2 .OR. KOPT(2)+KOPT(7) == 2.OR.

    > KOPT(3)+KOPT(7) == 2) THENCALL ERRMSS ('MI_AIRB','X,Y,Z AND NODE ARE

    MUTUALLY EXCLUSIVE')

    ENDIFIF (KOPT(7) /= 0) THEN

    * user has specified node: extract its coordinatesNODE = INT (NEWMAT%MATVAL(7) + 0.1)NEWMAT%MATVAL(1) = X(1,NODE)

    NEWMAT%MATVAL(2) = X(2,NODE)IF (IDIM == 3) NEWMAT%MATVAL(3) = X(3,NODE)

    ENDIFIF (KOPT(3) /= 0) THENIF (IDIM < 3) CALL ATTMSS ('MI_AIRB','Z UNUSED

    IN 2D')ENDIF

    *

    * default valuesIF((KOPT(5) == 0).AND.(KOPT(8) == 0))

    NEWMAT%MATVAL(5)=-HUGE(0.D0)

    ! TINTIF(KOPT(6) == 0) NEWMAT%MATVAL(6)=1.D0 !

    CONF

    **----- impressions

    WRITE(BLABLA,1000)

    NEWMAT%NUMLDC,NEWMAT%NAMECALL MECTSG(BLABLA)

    IF(IMPRIM(8)) THENCALL

    MECVAL(GET_FMT(1),NEWMAT%MATVAL(1))

    CALLMECVAL(GET_FMT(2),NEWMAT%MATVAL(2))CALL

    MECVAL(GET_FMT(3),NEWMAT%MATVAL(3))

    CALL

    MECVAL(GET_FMT(4),NEWMAT%MATVAL(4))IF(NEWMAT%MATVAL(5)>1.D20) THENCALL MECTEX(GET_FMT(5),'START TIME')

    ELSEIF(NEWMAT%MATVAL(5)0.5D0) THENCALL MECTEX(GET_FMT(8),'ONLY POSITIVE

    PRESSURES')ELSE

    CALL MECTEX(GET_FMT(8),'ALSO NEGATIVE

    PRESSURES')ENDIF

    ENDIF

    **IF FRANCAIS1000 FORMAT('LOI NUMERO',I5,' : ',A)

    1001 FORMAT('LA DIRECTIVE "AIRB" ESTINCOMPLETE')CELSE

    1000 FORMAT('LAW NUMBER',I5,' : ',A)1001 FORMAT('THE DIRECTIVE "AIRB" IS

    INCOMPLETE')CENDIF

    *END SUBROUTINE MI_AIRB

    *==========================================

    SUBROUTINE CL_AIRB (MAT_CUR, ECR, D, P,DTAIRB)

    * ------------------------------------------------------------------* cond. aux limites air blast m.larcher 04-07* ------------------------------------------------------------------

    * mat_cur : current material* matval(1) = x-coordinate of explosive charge

    * matval(2) = y-coordinate of explosive charge* matval(3) = z-coordinate of explosive charge* matval(4) = mass of explosive charge (in kg)

    * matval(5) = initial time of the explosion* matval(6) = choose of different explosion models

    * 1 = unconfined (full space), reflected (kingery)

    * 2 = unconfined (full space), not reflected(kingery)* 3 = unconfined (full space), not reflected (kinney)

    * 4 = half-confined (half space), reflected (kingery)* 5 = half-confined (half space), not reflected(kingery)

    * matval(8) = flag only positive pressure* d : distance between charge and clxx element centroid* (already computed in the clxx element)

    * p : blast pressure (output)* ecr(1) : pressure (output)

    * dtairb : maximal time step (output)*

    IMPLICIT NONE

    * INCLUDE 'TEMPX.INC' ! T = CURRENT TIMEINCLUDE 'TEMPS1.INC' ! TINIZI = INITIAL TIME

    *

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    24/32

    24

    *--- variables globales

    TYPE(MATERIAL), INTENT(INOUT) :: MAT_CURREAL(8), INTENT(IN) :: DREAL(8), INTENT(OUT) :: P

    REAL(8), INTENT(INOUT) :: DTAIRBREAL(8), INTENT(INOUT) :: ECR(*)

    *--- variables locales

    REAL(8) :: T_START ,T_D , T_CURR, T_NEGREAL(8) :: PARAM1, PARAM2, PARAM3,PARAM4REAL(8) :: PARAM5, PARAM6, PARAM7,PARAM8

    REAL(8) :: P_MAX, B_BLAST , Z_BLAST, U_T_D,Y_CONWEP,TINT,

    > P_MAX1, T_MAX1, T_D1, U_P_MAX, P_NEG,

    DTSTAB, CHARGE,Z_BLAST1REAL(8), DIMENSION(9) :: POLY_T_DREAL(8), DIMENSION(12) :: POLY_P_MAX

    INTEGER :: I, COND, EQU*

    P = 0.D0 ! INITIALIZATIONDTSTAB = DTAIRB !STORING OF THE STABLE TIME

    STEP SIZE TO USE

    !ALSO SMALLER TIME STEPS FOR THEFIRST TIME

    !STEP WITH AIRB

    DTAIRB = HUGE(DTAIRB)! INITIALISATION - ONLY IN THE POSITIVE

    PHASE THE

    ! TIME STEP SIZE WILL BE CHANGEDEQU = MAT_CUR%MATVAL(6)CHARGE = MAT_CUR%MATVAL(4)

    TINT = MAT_CUR%MATVAL(5)*----- time of explosion-------------------------------------------

    IF (MAT_CUR%MATVAL(5) P_NEG, T_NEG, B_BLAST)

    *end different models

    1000 P = P_MAX*(1.D0-T_CURR/T_D)*EXP(-B_BLAST*T_CURR/T_D)

    IF (T_CURRT_D) THEN ! NO NEGATIVE

    PRESSUREP=0.D0

    ENDIF

    IF (T_CURR0)

    IF(P MATERIALS(FNUMAT(IEL))

    IOP=MAT_CUR%MATENT(1)IF(IOP==26) THEN !AIRBIF(MAT_CUR%MATVAL(5)>1.D20) THEN

    TAUTO = .TRUE.XC = 0.D0YC = 0.D0

    ZC = 0.D0NNO = NCEL(1,ITYP)IAD = INDOX(IEL,3)

    DO I = 1, NNO ! CENTROID COORDINATESXC = XC + X(1,NUMN(IAD+I-1))

    YC = YC + X(2,NUMN(IAD+I-1))ZC = ZC + X(3,NUMN(IAD+I-1))

    END DO

    XC = XC / NNOYC = YC / NNOZC = ZC / NNODX = MAT_CUR%MATVAL(1) - XC ! DISTANCE

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    25/32

    25

    DY = MAT_CUR%MATVAL(2) - YC

    DZ = MAT_CUR%MATVAL(3) - ZC* additional calculations for dtstab required for the partitioning

    D = SQRT (DX*DX + DY*DY + DZ*DZ)

    IF(MAT_CUR%MATVAL(6) MATERIALS(FNUMAT(IEL))IOP=MAT_CUR%MATENT(1)IF(IOP==26) THEN !AIRB

    MAT_CUR%MATVAL(5) = T_ARR1ENDIF

    ENDIFEND DO

    ENDIF

    *END SUBROUTINE INIT_AIRB

    *=============================================SUBROUTINE AIRB_PARAMETER (EQU, CHARGE, D,

    P_MAX, T_START, T_D,

    > P_NEG, T_NEG, B_BLAST)* ------------------------------------------------------------------

    * cond. aux limites air blast m.larcher 04-07

    * ------------------------------------------------------------------* charge = mass of explosive charge (in kg)* equ = choose of different explosion models

    * 1 = unconfined (full space), reflected (kingery)* 2 = unconfined (full space), not reflected (kingery)* 3 = unconfined (full space), not reflected (kinney)

    * 4 = half-confined (half space), reflected (kingery)* 5 = half-confined (half space), not reflected (kingery)* d : distance between charge and clxx element centroid

    * p_max : max peak blast pressure (output)*

    IMPLICIT NONE*

    *--- variables globales

    REAL(8), INTENT(IN) :: D, CHARGEINTEGER, INTENT(IN) :: EQUREAL(8), INTENT(OUT) :: P_MAX, T_START, T_D,

    P_NEG, T_NEG, B_BLAST

    *--- variables locales

    REAL(8) :: PARAM1, PARAM2, PARAM3,PARAM4REAL(8) :: PARAM5, PARAM6, PARAM7,PARAM8REAL(8) :: Z_BLAST, U_T_D, Y_CONWEP,

    > P_MAX1, T_MAX1, T_D1, U_P_MAX, Z_BLAST1REAL(8), DIMENSION(9) :: POLY_T_D

    REAL(8), DIMENSION(12) :: POLY_P_MAX

    INTEGER :: I,COND**----- air blast pressure

    *----- parameters of detonation for all modelsZ_BLAST = D/CHARGE**0.333333D0B_BLAST = 5.2777D0*(Z_BLAST**(-1.1975D0))

    P_NEG = MIN(1.D5,79433.D0/(Z_BLAST**1.05D0))IF(Z_BLAST1.9D0) THENT_NEG = 0.0139D0 * CHARGE**(1./3.)

    ELSET_NEG = (3.125D0 * LOG10(Z_BLAST) + 12.01D0)*

    > CHARGE**(1./3.)*1D-3

    END IF*----- conwep is used for all models with different parameters*----- arrival time

    IF(EQU

    PARAM5/(PARAM6*PARAM7*PARAM8)RETURNEND IF

    *--------------------------------------------------------------------* formula for hemispherical reflected in kingery seems to bewrong.

    * therefore, the hemispherical formula is used for the pressure* by dividing the charge with 1.8

    *IF(EQU==1) THEN

    Z_BLAST1 = D/((CHARGE/1.8)**0.33333333D0)

    ELSEZ_BLAST1=Z_BLASTENDIF

    * kingery spherical

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    26/32

    26

    IF(EQU==1 .OR. EQU==2) THEN

    IF(Z_BLAST 0.00291430135946, 0.00187957449227,

    0.0173413962543,> 0.00269739758043, -0.00361976502798, -

    0.00100926577934/)

    ELSE IF(Z_BLAST>2.28) THENU_T_D = -3.130058+3.152472*LOG10(Z_BLAST)POLY_T_D = (/0.62103, 0.096703, -0.00801302,

    0.00482705,> 0.00187587,-0.002467385,-0.000841116668,

    0.00061932910, 0.0/)

    ELSEU_T_D = -

    1.33361206714+9.2996288611*LOG10(Z_BLAST)POLY_T_D = (/ 0.23031841078,-

    0.0297944268969,0.0306329542941,

    > 0.0183405574074, -0.0173964666286, -0.00106321963576,

    > 0.0056206003128, 0.0001618217499, -

    0.0006860188944 /)END IF

    *--------------------------------------------------------------------

    * kingery hemisphericalELSEIF(Z_BLAST -0.00475933, -0.00428144, 0.0, 0.0, 0.0/)ELSE IF(Z_BLAST>2.78) THENU_T_D = -3.53626+3.463497*LOG10(Z_BLAST)

    POLY_T_D =(/0.6869066, 0.09330353, -0.00058494, -0.0022688499,

    > -0.000295908, 0.0014802986, 0.0, 0.0, 0.0 /)ELSEU_T_D = -2.124925+9.2996288*LOG10(Z_BLAST)

    POLY_T_D = (/0.31540924, -0.0297944, 0.0306329,0.018340557,

    > -0.0173964,-0.00106321,0.0056206,0.000161821,-0.00068601889/)

    END IF

    END IF*--------------------------------------------------------------------

    * kingery spherical, reflected

    * the formula in kingery seems to be wrong. therefore, thehemispherical* formula is used by dividing the charge with 1.8

    ** if(equ==1) then* u_p_max = -

    0.214362789151+1.35034249993*log10(z_blast)* poly_p_max = (/3.22958031387, -2.21400538997,0.35119031446,

    * > 0.657599992109, 0.0141818951887, -0.243076636231,* > -0.0158699803158, 0.0492741184234,

    0.00227639644004,* > -0.00397126276058, 0.0 , 0.0/)

    *--------------------------------------------------------------------

    IF(Z_BLAST1 0.336743114941, -0.00516226351334, -0.0809228619888,> -0.00478507266747, 0.00793030472242,

    0.0007684469735,

    > 0.0, 0.0, 0.0/)*--------------------------------------------------------------------* kingery hemispherical, reflected (also spherical reflected)

    ELSE IF((EQU==1).OR.(EQU==4)) THENU_P_MAX = -

    0.240657322658+1.36637719229*LOG10(Z_BLAST1)

    POLY_P_MAX = (/3.4028321, -2.2103087, -0.218536586,0.89531958,

    > 0.24989, -0.569249, -0.1179168, 0.2241311, 0.0245620, -0.0455116,

    > -0.001909307, 0.003614711/)

    *--------------------------------------------------------------------* kingery hemispherical, incident

    ELSE IF (EQU==5) THEN

    U_P_MAX = -0.214362789151+1.35034249993*LOG10(Z_BLAST1)

    POLY_P_MAX = (/2.780769, -1.6958988, -0.1541937,

    0.514050,> 0.0988534, -0.2939126, -0.02681123,

    0.109097,0.001628467,

    > -0.0214631, 0.0001456723, 0.001678477/)END IF

    *--------------------------------------------------------------------

    * kingery calculationDO I = 1, 12

    P_MAX1 = P_MAX1 +POLY_P_MAX(I)*U_P_MAX**(I-1)

    END DOP_MAX= 1D3 * 10 ** P_MAX1DO I = 1, 9

    T_D1 = T_D1 + POLY_T_D(I)*U_T_D**(I-1)END DO

    T_D= (1D-3 * 10 ** T_D1)*CHARGE**(1./3.)ELSE !Z>40SELECT CASE (EQU)

    CASE (1) !KINGERY SPHERICAL REFLECTEDP_MAX = 10 ** (-1.147D0 * LOG10(Z_BLAST1) +

    5.375D0)CASE (2) !KINGERY SPHERICAL, INCIDENTP_MAX = 10 ** (-1.1D0 * LOG10(Z_BLAST1) + 5.D0)

    CASE (4) !KINGERY HEMISPHERICAL, REFLECTEDZ_BLAST1 = D/(CHARGE*1.8)**0.333333D0

    P_MAX = 10 ** (-1.147D0 * LOG10(Z_BLAST1) +

    5.375D0)CASE(5) !KINGERY HEMISPHERICAL, INCIDENTZ_BLAST1 = D/(CHARGE*1.8)**0.333333D0

    P_MAX = 10 ** (-1.1D0 * LOG10(Z_BLAST1) + 5.D0)END SELECTT_D = 10 ** (0.23D0 * LOG10(Z_BLAST1) - 2.594D0)

    END IF !Z>40*

    END SUBROUTINE AIRB_PARAMETER

    *=============================================SUBROUTINE TARRIVE_AIRB (MASS, D,

    COND,T_ARR)* ------------------------------------------------------------------

    * arrival time air blast m.larcher 02-08

    * ------------------------------------------------------------------* mass = mass of explosive charge (in kg)* cond = choose of different explosion models* 1 = unconfined (kingery)

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    27/32

    27

    * 2 = half-confined (kingery)

    * d = distance between charge and clxx element centroid* t_arr = arrival time of the explosion (output)*

    IMPLICIT NONE*

    *--- variables globales

    REAL(8), INTENT(IN) :: MASS,DINTEGER, INTENT(IN) :: CONDREAL(8), INTENT(OUT) :: T_ARR

    *--- variables localesREAL(8) :: T_START, Z_BLAST, Z_BLAST1,

    Y_CONWEP, U_T_START, D_40

    REAL(8), DIMENSION(10) :: POLY_T_STARTINTEGER :: I

    *----- air blast pressure*----- parameters of detonation for all models

    Z_BLAST = D/MASS**0.333333D0*----- z bigger than 40 --> sound speed is used from the distance

    z=40 on

    IF (Z_BLAST > 40.D0) THENZ_BLAST1 = 40

    ELSE

    Z_BLAST1 = Z_BLASTEND IF

    *----- time of explosion-------------------------------------------

    *----- conwep is used for all models with different parametersIF(COND==1) THENPOLY_T_START = (/0.07207,1.36456,-0.057003,-

    0.18283,0.011885,> 0.043265, -0.000799736, -0.00436073, 0.0, 0.0/)

    U_T_START = -0.25327+1.37407*LOG10(Z_BLAST1)ELSE

    POLY_T_START = (/-0.059163, 1.357064, 0.052492, -0.19656395,

    > -0.06017700, 0.0696360, 0.0215297, -0.01616589, -

    0.0023253,> 0.00147752/)

    U_T_START = -0.2024257+1.37784*LOG10(Z_BLAST1)END IFY_CONWEP = 0.0

    DO I = 1, 10Y_CONWEP = Y_CONWEP +

    POLY_T_START(I)*U_T_START**(I-1)END DOT_ARR = (1D-3 * 10 ** Y_CONWEP)*MASS**(1./3.)

    IF (Z_BLAST > 40.D0) THEND_40 = 40.D0 * MASS**0.333333D0

    T_ARR = T_ARR + (D-D_40)/343.D0

    END IF*

    END SUBROUTINE TARRIVE_AIRB

    *============================================END MODULE M_MATERIAL_I_AIRB

    7.2 AIRB Program

    airb.f

    PROGRAMM AIRB

    *--- variables localesREAL(8) :: T_START ,T_D , T_NEG, T, P_MAX,

    B_BLAST , Z_BLAST, D,> P_MAX1, P_NEG, CHARGE,Z_BLAST1, I_POS, INCR,

    I_POS1, TB, TE, TS,

    > DB, DE, DS

    INTEGER :: I, COND, EQU, FUNC, SUB_FUNC,FILE_NUMBER

    CHARACTER(255) :: FILE_NAME

    *WRITE (*,*) " "

    WRITE (*,*) " AA I RRRRR BBBBB"

    WRITE (*,*) " A A R R B B"WRITE (*,*) " A A I R R B B"WRITE (*,*) " A A I RRRRRR BBBBB"

    WRITE (*,*) " AAAAAAAAAA I R RR B B"WRITE (*,*) " A A I R RR B B"WRITE (*,*) "A A I R RR BBBBB"

    WRITE (*,*) " "WRITE (*,*) "Air Blast Functions for EUROPLEXUS and

    more..."

    WRITE (*,*) " "WRITE (*,*) "Details of the program are described in the"

    WRITE (*,*) "Technical Note 'Pressure-Time Functions forthe"

    WRITE (*,*) "Description of Air Blast Waves' (Martin

    Larcher)"WRITE (*,*) "PUBSY JRC 46829, 2008"WRITE (*,*) " "

    P = 0.D0 ! INITIALIZATIONWRITE (*,*) "FUNCTION: 1 Main values"

    WRITE (*,*) " 2 Function of distance (main values)"WRITE (*,*) " 3 Pressure-time curve (distance fix)"WRITE (*,*) " 4 Pressure-distance curve (time fix)"

    WRITE (*,*) " 5 Given: P_MAX --> Z_BLAST"WRITE (*,*) " 6 Given: P_MAX, I_POS -->

    D,CHARGE"WRITE (*,*) " 0 Stop"

    READ (*,*) FUNCIF(FUNC==0) STOPWRITE (*,*) "Write to a file. 0 for screen output."

    WRITE (*,*) "FILENAME: "READ (*,*) FILE_NAME

    IF(FILE_NAME=="0") THENFILE_NUMBER = 6

    ELSE

    FILE_NUMBER = 1OPEN(1,FILE=FILE_NAME)

    ENDIFWRITE (*,*) "EQUATION: 1 Kingery spherical reflected"WRITE (*,*) " 2 Kingery spherical, incident"

    WRITE (*,*) " 3 Kinney spherical, incident"WRITE (*,*) " 4 Kingery hemispherical, reflected"

    WRITE (*,*) " 5 Kingery hemispherical, incident"

    READ (*,*) EQU*----- air blast pressure*----- parameters of detonation for all models

    SELECT CASE (FUNC)CASE (1)WRITE (*,1101, ADVANCE='NO')

    READ (*,*) CHARGEWRITE (*,1105, ADVANCE='NO')READ (*,*) D

    Z_BLAST = D/CHARGE**0.333333D0CALL AIRB_PARAMETER (EQU, CHARGE, D,

    P_MAX, T_START, T_D,> P_NEG, T_NEG, B_BLAST)

    CALL AIRB_IMPULSE (EQU, CHARGE, D, I_POS)

    WRITE(FILE_NUMBER,1001)"Z_BLAST","P_MAX","T_START","T_D",> "P_NEG", "T_NEG", "B_BLAST","I_POS"

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    28/32

    28

    WRITE(FILE_NUMBER,1002)

    Z_BLAST,P_MAX,T_START,T_D,P_NEG,T_NEG,> B_BLAST, I_POSCASE (2)

    WRITE (*,*) "Parameter over Distance"WRITE (*,*) " 1 Peak pressure (P_MAX)"

    WRITE (*,*) " 2 Arrival time (T_START)"

    WRITE (*,*) " 3 Time of duration (positive) (T_D)"WRITE (*,*) " 4 Minimum pressure (P_NEG)"WRITE (*,*) " 5 Time of duration (negative) (T_NEG)"

    WRITE (*,*) " 6 Form Parameter (B_BLAST)"WRITE (*,*) " 7 Impulse (I_POS)"READ (*,*) SUB_FUNC

    WRITE (*,1101, ADVANCE='NO')READ (*,*) CHARGEWRITE (*,1110, ADVANCE='NO')

    READ (*,*) DBWRITE (*,1111, ADVANCE='NO')

    READ (*,*) DEWRITE (*,1112, ADVANCE='NO')

    READ (*,*) DS

    SELECT CASE (SUB_FUNC)CASE (1)WRITE(FILE_NUMBER,1003)

    "D","Z_BLAST","P_MAX"CASE (2)WRITE(FILE_NUMBER,1003)

    "D","Z_BLAST","T_START"CASE (3)WRITE(FILE_NUMBER,1003) "D","Z_BLAST","T_D"

    CASE (4)WRITE(FILE_NUMBER,1003)

    "D","Z_BLAST","P_NEG"CASE (5)

    WRITE(FILE_NUMBER,1003)"D","Z_BLAST","T_NEG"

    CASE (6)

    WRITE(FILE_NUMBER,1003)"D","Z_BLAST","B_BLAST"

    CASE (7)WRITE(FILE_NUMBER,1003)

    "D","Z_BLAST","I_POS"

    END SELECTDO D = DB, DE, DS

    Z_BLAST = D/CHARGE**0.333333D0CALL AIRB_PARAMETER (EQU, CHARGE, D,

    P_MAX, T_START, T_D,

    > P_NEG, T_NEG, B_BLAST)CALL AIRB_IMPULSE (EQU, CHARGE, D, I_POS)

    SELECT CASE (SUB_FUNC)

    CASE (1)WRITE(FILE_NUMBER,1004) D,Z_BLAST,P_MAX

    CASE (2)

    WRITE(FILE_NUMBER,1004) D,Z_BLAST,T_STARTCASE (3)WRITE(FILE_NUMBER,1004) D,Z_BLAST,T_D

    CASE (4)WRITE(FILE_NUMBER,1004) D,Z_BLAST,P_NEG

    CASE (5)

    WRITE(FILE_NUMBER,1004) D,Z_BLAST,T_NEGCASE (6)

    WRITE(FILE_NUMBER,1004)D,Z_BLAST,B_BLAST

    CASE (7)

    WRITE(FILE_NUMBER,1004) D,Z_BLAST,I_POSEND SELECTEND DO

    CASE (3)

    WRITE (*,1101, ADVANCE='NO')

    READ (*,*) CHARGEWRITE (*,1105, ADVANCE='NO')READ (*,*) D

    Z_BLAST = D/CHARGE**0.333333D0CALL AIRB_PARAMETER (EQU, CHARGE, D,

    P_MAX, T_START, T_D,

    > P_NEG, T_NEG, B_BLAST)WRITE(*,*) "The arrival time is : ", T_STARTWRITE (*,1107, ADVANCE='NO')

    READ (*,*) TBWRITE (*,1108, ADVANCE='NO')READ (*,*) TE

    WRITE (*,1109, ADVANCE='NO')READ (*,*) TSWRITE(FILE_NUMBER,1003) "T","T_CURR","P"

    DO T = TB, TE, TST_CURR = T-T_START

    P = P_MAX*(1.D0-T_CURR/T_D)*EXP(-B_BLAST*T_CURR/T_D)

    IF (T_CURR>T_D . AND . T_CURRT_D+T_NEG/2. . AND .T_CURRT_D+T_NEG) THENP=0.D0 ! AFTER LOADING

    END IFIF (T_CURRT_D . AND . T_CURRT_D+T_NEG/2. . AND .T_CURRT_D+T_NEG) THEN

    P=0.D0 ! AFTER LOADINGEND IFIF (T_CURR

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    29/32

    29

    WRITE(FILE_NUMBER,1004) D,Z_BLAST,P

    END DOCASE (5)WRITE (*,1103, ADVANCE='NO')

    READ (*,*) P_MAX1CALL GET_Z (EQU, P_MAX1, Z_BLAST)

    WRITE(FILE_NUMBER,*) "Z_BLAST = ", Z_BLAST

    CASE (6)WRITE (*,1103, ADVANCE='NO')READ (*,*) P_MAX1

    WRITE (*,1104, ADVANCE='NO')READ (*,*) I_POS1CALL GET_Z (EQU, P_MAX1, Z_BLAST)

    INCR = 1.D0D = 0.1D0

    DO WHILE (INCR>0.001)CHARGE = (D/Z_BLAST)**3.D0

    CALL AIRB_IMPULSE (EQU, CHARGE, D, I_POS)IF(I_POS1 P_NEG, T_NEG, B_BLAST)WRITE(FILE_NUMBER,1001)

    "Z_BLAST","P_MAX","T_START","T_D",> "P_NEG","T_NEG", "B_BLAST","I_POS"

    WRITE(FILE_NUMBER,1002)

    Z_BLAST,P_MAX,T_START,T_D,P_NEG,> T_NEG,B_BLAST, I_POS

    END SELECTIF(FILE_NUMBER==1) CLOSE(1)

    *--------------------------------------------------------------------

    1001 FORMAT (8A12)1002 FORMAT (8E12.4)

    1003 FORMAT (3A12)1004 FORMAT (3E12.4)1101 FORMAT (1X, 'CHARGE (kg) : ')

    1102 FORMAT (1X, 'TIME (s) : ')1103 FORMAT (1X, 'P_MAX (Pa) : ')

    1104 FORMAT (1X, 'I_POS (Pa s) : ')

    1105 FORMAT (1X, 'DISTANCE (m) : ')1107 FORMAT (1X, 'FIRST TIME STEP : ')1108 FORMAT (1X, 'LAST TIME STEP : ')

    1109 FORMAT (1X, 'TIME STEP SIZE : ')1110 FORMAT (1X, 'MINIMUM DISTANCE : ')1111 FORMAT (1X, 'MAXIMUM DISTANCE : ')

    1112 FORMAT (1X, 'DISTANCE STEPS : ')END PROGRAMM AIRB

    *=============================================

    SUBROUTINE TARRIVE_AIRB (MASS, D,COND,T_ARR)

    See m_material_i_airb.ff

    *=============================================SUBROUTINE AIRB_PARAMETER (EQU, CHARGE, D,P_MAX, T_START, T_D,

    > P_NEG, T_NEG, B_BLAST)

    See m_material_i_airb.ff

    *=============================================

    SUBROUTINE AIRB_IMPULSE (EQU, CHARGE, D,I_POS)

    * ------------------------------------------------------------------

    * cond. aux limites air blast m.larcher 07-08* separet file - not used in EUROPLEXUS* ------------------------------------------------------------------

    * charge = mass of explosive charge (in kg)* equ = choose of different explosion models* 1 = unconfined (full space), reflected (kingery)

    * 2 = unconfined (full space), not reflected (kingery)* 4 = half-confined (half space), reflected (kingery)* 5 = half-confined (half space), not reflected (kingery)

    * d : distance between charge and clxx element centroid* i_pos: positive impulse

    *IMPLICIT NONE

    *

    *--- variables globalesREAL(8), INTENT(IN) :: D, CHARGEINTEGER, INTENT(IN) :: EQU

    REAL(8), INTENT(OUT) :: I_POS*--- variables locales

    REAL(8) :: Z_BLAST, U_I_P,I_P1

    REAL(8), DIMENSION(9) :: POLY_I_PINTEGER :: I

    *

    *----- air blast pressure*----- parameters of detonation for all models

    Z_BLAST = D/CHARGE**0.333333D0*----- conwep is used for all models with different parameters

    *begin different modelsI_P1=0.0SELECT CASE(EQU)

    CASE (1) !refleced sphericalU_I_P = -

    0.204004553231+1.37882996018*LOG10(Z_BLAST)POLY_I_P = (/2.55875660396,-

    0.903118886091,0.101771877942,

    > -0.0242139751146,0.0,0.0,0.0,0.0,0.0/)CASE (2) !incident spherical

    IF(Z_BLAST 0.0348138030308,-0.010435192824,0.0,0.0,0.0,0.0/)

    ELSEU_I_P = -

    1.75305660315+2.30629231803*LOG10(Z_BLAST)

    POLY_I_P = (/1.55197227115,-0.40463292088,-0.0142721946082,

    > 0.00912366316617,-0.0006750681404,-

    0.00800863718901,> 0.00314819515931,0.00152044783382,-

    0.0007470265099/)

    END IFCASE (4) !reflected hemispheical

    U_I_P = -0.246208804814+1.33422049854*LOG10(Z_BLAST)

    POLY_I_P = (/2.70588058103,-

    0.949516092853,0.112136118689,> -0.0250659183287,0.0,0.0,0.0,0.0,0.0/)CASE (5) !incident hemispheicalIF(Z_BLAST

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    30/32

    30

    U_I_P =

    2.06761908721+3.0760329666*LOG10(Z_BLAST)POLY_I_P = (/2.52455620925,-

    0.52992763686,0.171335645235,

    > 0.0450176963051,-0.0118964626402,0.0,0.0,0.0,0.0/)ELSE

    U_I_P = -

    1.94708846747+2.40697745406*LOG10(Z_BLAST)POLY_I_P = (/1.67231645863,-0.384519026965,-

    0.0260816706301,

    > 0.00595798753822,0.014544526107,-0.00663289334734,

    > -0.00284189327204,0.0013644816227,0.0/)

    END IFCASE DEFAULTWRITE(*,*) "IMPUSLSE NOT YET DEFINED"

    END SELECT*--------------------------------------------------------------------

    * kingery calculationDO I = 1, 9

    I_P1 = I_P1 + POLY_I_P(I)*U_I_P**(I-1)

    END DOI_POS= (CHARGE**0.33333333)* 10 ** I_P1

    *

    END SUBROUTINE AIRB_IMPULSE*============================================

    SUBROUTINE GET_Z (EQU, P_MAX1, Z_BLAST)

    * ------------------------------------------------------------------* returns Z for a given p_max* ------------------------------------------------------------------

    * equ = choose of different explosion models* 1 = unconfined (full space), reflected (kingery)

    * 2 = unconfined (full space), not reflected (kingery)* 4 = half-confined (half space), reflected (kingery)

    * 5 = half-confined (half space), not reflected (kingery)* p_max1: given p_max*

    IMPLICIT NONE*

    *--- variables globalesREAL(8), INTENT(IN) :: P_MAX1INTEGER, INTENT(IN) :: EQU

    REAL(8), INTENT(OUT) :: Z_BLAST*--- variables locales

    REAL(8) :: INCR, CHARGE, P_MAX, D, T_START, T_D,P_NEG,

    > T_NEG, B_BLAST

    *INCR = 1.D0

    Z_BLAST = 1.D0

    D = 1.D0DO WHILE (INCR>0.001)CHARGE = (D/Z_BLAST)**3.D0

    CALL AIRB_PARAMETER (EQU, CHARGE, D,P_MAX, T_START, T_D,

    > P_NEG, T_NEG, B_BLAST)

    IF(P_MAX1 >P_MAX) THENINCR = INCR /2.D0Z_BLAST = Z_BLAST - INCR

    ELSEZ_BLAST = Z_BLAST + INCR

    ENDIFEND DO

    END SUBROUTINE GET_Z

    *============================================

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    31/32

    31

    European Commission

    Joint Research Centre Institute for the Protection and Security of the CitizenTitle: Pressure-Time Functions for the Description of Air Blast WavesAuthor: Martin Larcher2008 33 pp. 21.0 x 29.7 cm

    Abstract

    This work is being conducted in the framework of the project RAILPROTECT, which deals with the security andsafety of rail transport against terrorist attacks. The bombing threat is only considered, and focus is placed onpredicting the effects of explosions in railway and metro stations and rolling stock and on assessing thevulnerability of such structures.The project is based on numerical simulations, which are carried out with the explicit Finite Element CodeEUROPLEXUS that is written for the calculation of fast dynamic fluid-structure interactions. This code has beendeveloped in a collaboration of the French Commissariat l'Energie Atomique (CEN Saclay) and the JointResearch Centre of the European Commission (JRC Ispra).

    There are several possibilities to simulate explosions, e.g., in trains and stations. The fasted one is to neglectthe influence of the air and to use only the structural part of the geometry. Then, the behaviour of the explosioncan be simulated by using a pressure-time function, which can be applied on the structure. This technical notepresents the pressure-time functions, which are implemented in EUROPLEXUS. In addition to this

    implementation, an external routine is developed, which allows the calculation of several values of the pressure-time function. This program allows also to calculate, e.g., the charge by a given peak pressure and positiveimpulse, which is helpful by fitting experiments to a pressure-time function.

  • 8/2/2019 Pressure-Time Functions AIR BLAST_JRC46829

    32/32

    The mission of the JRC is to provide customer-driven scientific and technical supportfor the conception, development, implementation and monitoring of EU policies. As aservice of the European Commission, the JRC functions as a reference centre ofscience and technology for the Union. Close to the policy-making process, it servesthe common interest of the Member States, while being independent of specialinterests, whether private or national.