37 . SENSOR_PTR,SENS_ID ,TITR ,ISKN ,
52#include "implicit_f.inc"
57#include "tabsiz_c.inc"
64 INTEGER ,
INTENT(IN) :: SENS_ID
65 INTEGER ,
DIMENSION(LISKN,SISKWN) ,
INTENT(IN) :: ISKN
66 CHARACTER(LEN=NCHARTITLE) :: TITR
67 TYPE (SENSOR_STR_) ,
INTENT(OUT) :: SENSOR_PTR
68 TYPE (SUBMODEL_DATA) ,
DIMENSION(NSUBMOD) :: LSUBMODEL
69 TYPE (SUBSET_) ,
DIMENSION(NSUBS) :: SUBSET
70 TYPE (UNIT_TYPE_) ,
INTENT(IN) :: UNITAB
74 INTEGER :: I,SENS_TYPE,SPRING_ID,SKEW_ID,ISK,NPOINT,IDIR1,IDIR2,
76 my_real :: tdel,tmin,nijmax,ftens,fcomp,mflex,mext,
alpha,cfc,
78 CHARACTER(LEN=NCHARFIELD) :: F_DIR, M_DIR
79 LOGICAL :: IS_AVAILABLE
83 is_available = .false.
89 CALL hm_get_floatv(
'Tdelay' ,tdel ,is_available,lsubmodel,unitab)
91 CALL hm_get_floatv(
'NIJ_max' ,nijmax ,is_available,lsubmodel,unitab)
92 CALL hm_get_floatv(
'Fint_tens' ,ftens ,is_available,lsubmodel,unitab)
93 CALL hm_get_floatv(
'Fint_comp' ,fcomp ,is_available,lsubmodel,unitab)
94 CALL hm_get_floatv(
'Mint_flex' ,mflex ,is_available,lsubmodel,unitab)
95 CALL hm_get_floatv(
'Mint_ext' ,mext ,is_available,lsubmodel,unitab)
97 CALL hm_get_intv (
'Spring_Id' ,spring_id ,is_available,lsubmodel)
98 CALL hm_get_intv (
'Skew_Id' ,skew_id ,is_available,lsubmodel)
102 CALL hm_get_floatv(
'Tmin' ,tmin ,is_available,lsubmodel,unitab)
104 CALL hm_get_floatv(
'CFC' ,cfc ,is_available,lsubmodel,unitab)
109 IF (f_dir(1:1) ==
'X' .or. f_dir(1:1) ==
'x') idir1 = 1
110 IF (f_dir(1:1) ==
'Y' .or. f_dir(1:1) ==
'y') idir1 = 2
111 IF (f_dir(1:1) ==
'Z' .or. f_dir(1:1) ==
'z') idir1 = 3
112 IF (m_dir(1:1) ==
'X' .or. m_dir(1:1) ==
'x') idir2 = 1
113 IF (m_dir(1:1) ==
'Y' .or. m_dir(1:1) ==
'y') idir2 = 2
114 IF (m_dir(1:1) ==
'Z' .or. m_dir(1:1) ==
'z') idir2 = 3
125 IF (skew_id > 0)
THEN
127 IF (skew_id == iskn(4,i+1))
THEN
133 fac_forc = unitab%FAC_M_WORK * unitab%FAC_L_WORK / unitab%FAC_T_WORK**2
134 fac_mom = fac_forc * unitab%FAC_L_WORK
135 IF (ftens == 0) ftens = 6806.0 / fac_forc
136 IF (fcomp == 0) fcomp = 6160.0 / fac_forc
137 IF (mflex == 0) mflex = 310.0 / fac_mom
138 IF (mext == 0) mext = 135.0 / fac_mom
140 IF (cfc == zero) cfc = 600.0 * unitab%FAC_T_WORK
149 ALLOCATE (sensor_ptr%IPARAM(nparis))
150 ALLOCATE (sensor_ptr%RPARAM(nparrs))
151 ALLOCATE (sensor_ptr%VAR(nvar))
152 sensor_ptr%VAR(:) = zero
154 sensor_ptr%NVAR = nvar
155 sensor_ptr%NPARI = nparis
156 sensor_ptr%NPARR = nparrs
157 sensor_ptr%TYPE = sens_type
158 sensor_ptr%SENS_ID = sens_id
159 sensor_ptr%STATUS = 0
160 sensor_ptr%TSTART = infinity
161 sensor_ptr%TCRIT = infinity
162 sensor_ptr%TDELAY = tdel
163 sensor_ptr%TMIN = tmin
164 sensor_ptr%VALUE = zero
166 sensor_ptr%IPARAM(1) = spring_id
167 sensor_ptr%IPARAM(2) = 0
168 sensor_ptr%IPARAM(3) = isk
169 sensor_ptr%IPARAM(4) = 0
170 sensor_ptr%IPARAM(5) = idir1
171 sensor_ptr%IPARAM(6) = idir2
173 sensor_ptr%RPARAM(1) = nijmax
174 sensor_ptr%RPARAM(2) = ftens
175 sensor_ptr%RPARAM(3) = fcomp
176 sensor_ptr%RPARAM(4) = mflex
177 sensor_ptr%RPARAM(5) = mext
178 sensor_ptr%RPARAM(6) =
alpha
179 sensor_ptr%RPARAM(7) = cfc
181 WRITE (iout ,1000) sens_id,tdel,tmin
182 WRITE (iout ,2000) nijmax,ftens,fcomp,mflex,mext,spring_id,skew_id,
183 . f_dir,m_dir,cfc,
alpha
186 . 5x,
' SENSOR : NECK INJURY CRITERION '/,
187 . 5x,
' ------------------------------ '/,
188 . 5x,
'SENSOR ID. . . . . . . . . . . . . . . . . =',i10/
189 . 5x,
'TIME DELAY BEFORE ACTIVATION . . . . . . . =',e12.4/
190 . 5x,
'MINIMUM TIME DURATION. . . . . . . . . . . =',e12.4)
192 . 5x,
' NIJ LIMIT VALUE. . . . . . . . . . . . . =',e12.4/
193 . 5x,
' CRITICAL AXIAL FORCE IN TENSION. . . . . =',e12.4/
194 . 5x,
' CRITICAL AXIAL FORCE IN COMPRESSION. . . =',e12.4/
195 . 5x,
' CRITICAL BENDING MOMENT IN FLEXION . . . =',e12.4/
196 . 5x,
' CRITICAL BENDING MOMENT IN EXTENSION . . =',e12.4/
197 . 5x,
' SPRING ELEMENT ID. . . . . . . . . . . . =',i10/
198 . 5x,
' LOCAL SKEW SYSTEM ID . . . . . . . . . . =',i10/
199 . 5x,
' DIRECTION OF AXIAL FORCE MONITORING. . . =',9x,a1/
200 . 5x,
' DIRECTION OF BENDING MOMENT MONITORING . =',9x,a1/
201 . 5x,
' CFC - CHANNEL FREQUENCY CLASS. . . . . . =',e12.4/
202 . 5x,
' FILTER CONSTANT. . . . . . . . . . . . . =',e12.4/)