18 subroutine table_dyn(hecMESH, fstrSOLID, fstrDYNAMIC, ig0, t_curr, f_t, flag_u)
19 type(hecmwst_local_mesh) :: hecMESH
22 integer(kind=kint) :: ig0
23 real(kind=kreal) :: t_curr
24 real(kind=kreal) :: f_t
25 integer(kind=kint) :: flag_u
27 integer(kind=kint) :: i
28 integer(kind=kint) :: jj_n_amp, jj1, jj2
29 integer(kind=kint) :: s1, s2
30 real(kind=kreal) :: t_1, t_2, t_t, f_1, f_2
34 t_1 = 0.0d0; t_2 = 0.0d0; t_t = 0.0d0; f_1 = 0.0d0; f_2 = 0.0d0; f_t = 0.0d0
36 if( flag_u .eq. 1 )
then
37 jj_n_amp = fstrsolid%BOUNDARY_ngrp_amp(ig0)
38 else if( flag_u .eq. 2 )
then
39 jj_n_amp = fstrsolid%VELOCITY_ngrp_amp(ig0)
40 else if( flag_u .eq. 3 )
then
41 jj_n_amp = fstrsolid%ACCELERATION_ngrp_amp(ig0)
42 else if( flag_u .eq. 0 )
then
43 jj_n_amp = fstrsolid%CLOAD_ngrp_amp(ig0)
44 else if( flag_u .eq. 10 )
then
45 jj_n_amp = fstrsolid%DLOAD_ngrp_amp(ig0)
48 if( jj_n_amp == 0 )
then
52 jj1 = hecmesh%amp%amp_index(jj_n_amp - 1)
53 jj2 = hecmesh%amp%amp_index(jj_n_amp)
56 if( fstrdynamic%idx_eqa == 1 )
then
59 else if( fstrdynamic%idx_eqa == 11 )
then
62 t_t = t_curr - fstrdynamic%t_delta
64 t_t = t_curr - fstrdynamic%t_delta
66 t_t = t_curr - fstrdynamic%t_delta
68 t_t = t_curr - fstrdynamic%t_delta
70 t_t = t_curr - fstrdynamic%t_delta
74 if(t_t .gt. hecmesh%amp%amp_table(jj2))
then
75 f_t = hecmesh%amp%amp_val(jj2)
76 else if(t_t .le. hecmesh%amp%amp_table(jj2))
then
78 if(t_t .le. hecmesh%amp%amp_table(i))
then
85 t_2 = hecmesh%amp%amp_table(s2)
86 t_1 = hecmesh%amp%amp_table(s1)
87 f_2 = hecmesh%amp%amp_val(s2)
88 f_1 = hecmesh%amp%amp_val(s1)
89 if( t_2-t_1 .lt. 1.0e-20)
then
90 if( hecmesh%my_rank.eq.0)
then
91 write(
imsg,*)
'stop due to t_2-t_1 <= 0'
93 call hecmw_abort( hecmw_comm_get_comm())
95 f_t = ((t_2*f_1 - t_1*f_2) + (f_2 - f_1)*t_t) / (t_2 - t_1)
This module defines common data and basic structures for analysis.
integer(kind=kint), parameter imsg
Table of lading step in dynamic analysis.
subroutine table_dyn(hecMESH, fstrSOLID, fstrDYNAMIC, ig0, t_curr, f_t, flag_u)
Data for DYNAMIC ANSLYSIS (fstrDYNAMIC)