18 & dtime, etime, itime, eps, restart_nout, &
22 & nout, nout_monit, node_monit_1, elem_monit_1, intg_monit_1 )
24 integer(kind=kint) :: ctrl
25 real(kind=kreal) :: dtime
26 real(kind=kreal) ::
etime
27 integer(kind=kint) :: itime
28 real(kind=kreal) ::
eps
29 integer(kind=kint) :: restart_nout
30 integer(kind=kint) :: idx_elpl
31 real(kind=kreal) :: sig_y0, h_dash
32 integer(kind=kint) :: nout, nout_monit, node_monit_1, elem_monit_1, intg_monit_1
33 integer(kind=kint) :: iout_list(6)
41 & iout_list(1), iout_list(2), iout_list(3), iout_list(4), iout_list(5), iout_list(6)) /= 0 )
return
44 & nout, nout_monit, node_monit_1, elem_monit_1, intg_monit_1 ) /= 0 )
return
55 integer(kind=kint) :: ctrl
56 character(len=HECMW_NAME_LEN) :: amp
57 character(len=HECMW_NAME_LEN) :: node_id(:)
58 integer(kind=kint) :: node_id_len
59 integer(kind=kint),
pointer :: dof_ids (:)
60 integer(kind=kint),
pointer :: dof_ide (:)
61 real(kind=kreal),
pointer :: value(:)
64 character(len=HECMW_NAME_LEN) :: data_fmt,ss
65 write(ss,*) node_id_len
66 write(data_fmt,
'(a,a,a)')
'S',trim(adjustl(ss)),
'IIr '
82 integer(kind=kint) :: ctrl
83 character(len=HECMW_NAME_LEN) :: amp
84 character(len=HECMW_NAME_LEN) :: node_id(:)
85 integer(kind=kint) :: node_id_len
86 integer(kind=kint),
pointer :: dof_id(:)
87 real(kind=kreal),
pointer :: value(:)
90 character(len=HECMW_NAME_LEN) :: data_fmt,ss
91 write(ss,*) node_id_len
92 write( data_fmt,
'(a,a,a)')
'S', trim(adjustl(ss)),
'IR '
107 integer(kind=kint) :: ctrl
108 character(len=HECMW_NAME_LEN) :: amp
109 integer(kind=kint) :: follow
110 character(len=HECMW_NAME_LEN) :: element_id(:)
111 integer(kind=kint) :: element_id_len
112 integer(kind=kint),
pointer :: load_type(:)
113 real(kind=kreal),
pointer :: params(:,:)
116 character(len=HECMW_NAME_LEN),
pointer :: type_name_list(:)
118 integer(kind=kint) :: i, n
119 integer(kind=kint) :: rcode
120 character(len=HECMW_NAME_LEN) :: data_fmt,s1,s2
121 integer(kind=kint) :: lid
129 write(s1,*) element_id_len
130 write(s2,*) hecmw_name_len
131 write( data_fmt,
'(a,a,a,a,a)')
'S', trim(adjustl(s1)),
'S', trim(adjustl(s2)),
'Rrrrrrr '
134 allocate( type_name_list(n) )
137 real(kind=kreal) :: params0(n), params1(n), params2(n), params3(n), params4(n), params5(n), params6(n)
138 params0 = params(0,:)
139 params1 = params(1,:)
140 params2 = params(2,:)
141 params3 = params(3,:)
142 params4 = params(4,:)
143 params5 = params(5,:)
144 params6 = params(6,:)
146 params0, params1, params2, params3, params4, params5, params6 )
147 params(0,:) = params0
148 params(1,:) = params1
149 params(2,:) = params2
150 params(3,:) = params3
151 params(4,:) = params4
152 params(5,:) = params5
153 params(6,:) = params6
156 if( rcode /= 0 )
then
157 deallocate( type_name_list )
163 if( type_name_list(i)(1:2) ==
'BX' ) then; lid = 1
164 else if( type_name_list(i)(1:2) ==
'BY' ) then; lid = 2
165 else if( type_name_list(i)(1:2) ==
'BZ' ) then; lid = 3
166 else if( type_name_list(i)(1:4) ==
'GRAV') then; lid = 4
167 else if( type_name_list(i)(1:4) ==
'CENT') then; lid = 5
168 else if( type_name_list(i)(1:2) ==
'PP' ) then; lid = 10
169 else if( type_name_list(i)(1:2) ==
'P0' ) then; lid = 10
170 else if( type_name_list(i)(1:2) ==
'PX' )
then
171 lid = 10; params(1,:)=1.d0; params(2,:)=0.d0; params(3,:)=0.d0
172 else if( type_name_list(i)(1:2) ==
'PY' )
then
173 lid = 10; params(1,:)=0.d0; params(2,:)=1.d0; params(3,:)=0.d0
174 else if( type_name_list(i)(1:2) ==
'PZ' )
then
175 lid = 10; params(1,:)=0.d0; params(2,:)=0.d0; params(3,:)=1.d0
176 else if( type_name_list(i)(1:2) ==
'P1' ) then; lid = 10
177 else if( type_name_list(i)(1:2) ==
'P2' ) then; lid = 20
178 else if( type_name_list(i)(1:2) ==
'P3' ) then; lid = 30
179 else if( type_name_list(i)(1:2) ==
'P4' ) then; lid = 40
180 else if( type_name_list(i)(1:2) ==
'P5' ) then; lid = 50
181 else if( type_name_list(i)(1:2) ==
'P6' ) then; lid = 60
182 else if( type_name_list(i)(1:1) ==
'S' ) then; lid = 100
184 write(
ilog, *)
'Error : !DLOAD : Load type ',type_name_list(i),
' is unknown'
185 deallocate( type_name_list )
191 deallocate( type_name_list )
204 integer(kind=kint) :: ctrl
205 real(kind=kreal) ::
value
219 integer(kind=kint) :: ctrl
220 integer(kind=kint) :: irres
221 integer(kind=kint) :: tstep
222 integer(kind=kint) :: tintl
223 integer(kind=kint) :: rtype
224 character(len=HECMW_NAME_LEN) :: node_id(:)
225 integer(kind=kint) :: node_id_len
226 real(kind=kreal),
pointer :: value(:)
229 character(len=HECMW_NAME_LEN) :: data_fmt,ss
241 write(ss,*) node_id_len
242 write(data_fmt,
'(a,a,a)')
'S',trim(adjustl(ss)),
'r '
256 integer(kind=kint) :: ctrl, incremental
257 character(len=HECMW_NAME_LEN) :: amp
258 character(len=HECMW_NAME_LEN) :: node_id(:)
259 integer(kind=kint) :: node_id_len
260 integer(kind=kint),
pointer :: dof_id(:)
261 real(kind=kreal),
pointer :: value(:)
264 character(len=HECMW_NAME_LEN) :: data_fmt,ss
265 write(ss,*) node_id_len
266 write( data_fmt,
'(a,a,a)')
'S', trim(adjustl(ss)),
'IR '
270 incremental = incremental + 1
272 incremental = incremental - 1
283 integer(kind=kint),
intent(in) :: ctrl
285 character(len=256) :: fname
289 if( fname==
"" ) stop
"You must define a file name before read in user-defined material"
int fstr_ctrl_get_param_ex(int *ctrl, const char *param_name, const char *value_list, int *necessity, char *type, void *val)
int fstr_ctrl_get_data_array_ex(int *ctrl, const char *format,...)
int fstr_ctrl_get_data_ex(int *ctrl, int *line_no, const char *format,...)
This module contains control file data obtaining functions for static analysis.
integer(kind=kint) function fstr_ctrl_get_static(ctrl, dtime, etime, itime, eps, restart_nout, idx_elpl, iout_list, sig_y0, h_dash, nout, nout_monit, node_monit_1, elem_monit_1, intg_monit_1)
Read in !STATIC.
integer(kind=kint) function fstr_ctrl_get_boundary(ctrl, amp, node_id, node_id_len, dof_ids, dof_ide, value)
Read in !BOUNDARY.
integer(kind=kint) function fstr_ctrl_get_reftemp(ctrl, value)
Read in !REFTEMP.
integer(kind=kint) function fstr_ctrl_get_spring(ctrl, amp, node_id, node_id_len, dof_id, value, incremental)
Read in !SPRING.
integer(kind=kint) function fstr_ctrl_get_dload(ctrl, amp, follow, element_id, element_id_len, load_type, params)
Read in !DLOAD.
integer(kind=kint) function fstr_ctrl_get_temperature(ctrl, irres, tstep, tintl, rtype, node_id, node_id_len, value)
Read in !TEMPERATURE.
integer(kind=kint) function fstr_ctrl_get_cload(ctrl, amp, node_id, node_id_len, dof_id, value)
Read in !CLOAD.
integer function fstr_ctrl_get_userload(ctrl)
Read in !ULOAD.
This module defines common data and basic structures for analysis.
integer(kind=kint), parameter ilog
FILE HANDLER.
This subroutine read in used-defined loading tangent.
integer function ureadload(fname)
This subroutine read in variables needs to define user-defined external loads.