41 subroutine fstr_setup( cntl_filename, hecMESH, hecMAT, fstrPARAM, &
42 fstrSOLID, fstrEIG, fstrHEAT, fstrDYNAMIC, fstrCPL, fstrFREQ )
43 character(len=HECMW_FILENAME_LEN) :: cntl_filename
44 type(hecmwst_local_mesh),
target :: hecMESH
45 type(hecmwst_matrix),
target :: hecMAT
54 integer(kind=kint) :: ctrl, rcode
57 integer(kind=kint) :: total(FSTR_CARD_MAX)
77 write(*,*)
'### Error: Cannot open FSTR control file : ', cntl_filename
78 write(
ilog,*)
'### Error: Cannot open FSTR control file : ', cntl_filename
209 integer(kind=kint),
intent(in) :: total(:)
214 counts%contact_interferences =
fstr_card_total( t, total,
'CONTACT_INTERFERENCE' )
217 counts%initial_conditions =
fstr_card_total( t, total,
'INITIAL_CONDITION' )
235 integer(kind=kint) :: ctrl
237 integer(kind=kint),
intent(in) :: ipass
238 integer(kind=kint),
intent(inout) :: total(:)
241 integer(kind=kint) :: ctrl_list(20), ictrl, rcode, ierror, k, s
242 integer(kind=kint) :: pos(size(total))
243 character(len=HECMW_NAME_LEN) :: header_name
244 character(len=HECMW_FILENAME_LEN) :: input_filename
251 if( header_name ==
'!INCLUDE' )
then
252 ctrl_list(ictrl) = ctrl
257 write(*,*)
'### Error: Cannot open FSTR control file : ', input_filename
258 write(
ilog,*)
'### Error: Cannot open FSTR control file : ', input_filename
259 stop hecmw_exit_input
263 else if( header_name ==
'!END' )
then
269 if( ipass == 1 .or.
associated(t%card(k)%second) )
then
271 p%STATE%slot%first = pos(s) + 1
272 if( t%card(k)%by_line )
then
277 p%STATE%slot%last = pos(s)
279 trim(header_name)//
' : more than counted in the first reading of the control file' )
280 if( ipass == 1 .and.
associated(t%card(k)%first) )
call t%card(k)%first( ctrl, p )
281 if( ipass == 2 )
call t%card(k)%second( ctrl, p )
292 ctrl = ctrl_list(ictrl)
297 if( ipass == 1 ) total(:) = pos(:)
303 if(
associated(c%coupled_node))
deallocate(c%coupled_node)
304 if(
associated(c%trac))
deallocate(c%trac)
305 if(
associated(c%disp))
deallocate(c%disp)
306 if(
associated(c%velo))
deallocate(c%velo)
307 if(
associated(c%accel))
deallocate(c%accel)
308 if(
associated(c%index))
deallocate(c%index)
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_open(char *filename)
int fstr_ctrl_get_c_h_name(int *ctrl, char *header_name, int *buff_size)
This module contains fstr control file data obtaining functions.
This module contains control file data obtaining functions for dynamic analysis.
This module contains control file data obtaining functions for dynamic analysis.
This module contains control file data obtaining functions for heat conductive analysis.
This module manages read in of various material properties.
This module contains control file data obtaining functions for static analysis.
This module contains auxiliary functions in calculation setup.
subroutine fstr_setup_visualize(ctrl, hecMESH)
subroutine fstr_card_add(T, name, first, second, by_line, seq, version_min, version_max)
Adds a card to the table T, read by first in the first reading and by second in the second reading....
subroutine fstr_setup_util_err_stop(msg)
integer(kind=kint) function fstr_card_find(T, name, version)
Index of the row of the card name for !VERSION version in the table T, or 0 if there is none.
subroutine fstr_card_alias(T, alias, name)
Adds alias to the table T as another name of the card name.
integer(kind=kint) function fstr_card_total(T, total, seq)
Total of the sequence named seq, from the totals of the sequences of the table T. Stops if the sequen...
This module contains auxiliary functions in calculation setup.
subroutine node_grp_name_to_id_ex(hecMESH, header_name, n, grp_id_name, grp_ID)
subroutine surf_grp_name_to_id_ex(hecMESH, header_name, n, grp_id_name, grp_ID)
logical function hecmw_streqr(s1, s2)
subroutine elem_grp_name_to_id_ex(hecMESH, header_name, n, grp_id_name, grp_ID)
This module provides subroutines to initialize, allocate and finalize fstr_dynamic,...
subroutine fstr_setup_dynamic(ctrl, P)
Read in !DYNAMIC !
This module provides subroutines to initialize fstr_eigen and to read !EIGEN into it.
subroutine fstr_setup_eigen(ctrl, P)
Read in !EIGEN !
This module provides subroutines to read the cards of frequency response analysis into fstr_freqanaly...
subroutine fstr_setup_facceleration(ctrl, P)
Read in !FACCELERATION !
subroutine fstr_setup_fload(ctrl, P)
Read in !FLOAD !
subroutine fstr_setup_eigenread(ctrl, P)
Read in !EIGENREAD !
This module provides subroutines to initialize fstr_heat and to read the cards of heat analysis into ...
subroutine fstr_setup_sfilm(ctrl, P)
Read in !SFILM !
subroutine fstr_setup_sradiate(ctrl, P)
Read in !SRADIATE !
subroutine fstr_setup_dflux(ctrl, P)
Read in !DFLUX !
subroutine fstr_setup_cflux(ctrl, P)
Read in !CFLUX !
subroutine fstr_setup_heat(ctrl, P)
Read in !HEAT !
subroutine fstr_setup_sflux(ctrl, P)
Read in !SFLUX !
subroutine fstr_setup_film(ctrl, P)
Read in !FILM !
subroutine fstr_setup_radiate(ctrl, P)
Read in !RADIATE !
subroutine fstr_setup_fixtemp(ctrl, P)
Read in !FIXTEMP !
subroutine fstr_setup_weld_line(ctrl, P)
Read in !WELD_LINE !
This module provides subroutines to read the cards that go into fstr_param, and the cards that go int...
subroutine fstr_setup_converg_param(ctrl, P)
Read in !CONVERG_PARAM !
subroutine fstr_setup_echo(ctrl, P)
Read in !ECHO !
subroutine fstr_setup_contactalgo(ctrl, P)
Read in !CONTACT !
subroutine fstr_setup_restart(ctrl, P)
Read in !RESTART !
subroutine fstr_setup_mpc(ctrl, P)
Read in !MPC !
subroutine fstr_setup_output_sstype(ctrl, P)
Read in !OUTPUT_SSTYPE !
subroutine fstr_setup_contact_interference(ctrl, P)
Read in !CONTACT_INTERFERENCE !
subroutine fstr_setup_amplitude(ctrl, P)
Read in !AMPLITUDE !
subroutine fstr_setup_solution(ctrl, P)
Read in !SOLUTION !
subroutine fstr_setup_time_points(ctrl, P)
Read in !TIME_POINTS !
subroutine fstr_setup_version(ctrl, P)
Read in !VERSION !
subroutine fstr_setup_contact_param(ctrl, P)
Read in !CONTACT_PARAM !
subroutine fstr_setup_autoinc_param(ctrl, P)
Read in !AUTOINC_PARAM !
subroutine fstr_setup_initial_condition(ctrl, P)
Read in !INITIAL_CONDITION.
subroutine fstr_setup_nonlinear_solver(ctrl, P)
Read in !NONLINEAR_SOLVER !
subroutine fstr_setup_reftemp(ctrl, P)
Read in !REFTEMP !
subroutine fstr_setup_solver(ctrl, P)
Read in !SOLVER !
subroutine fstr_setup_orientation(ctrl, P)
Read in !ORIENTATION.
This module provides subroutines to process the data read from the cards, independently of the input ...
subroutine fstr_setup_prepare(P, counts)
Allocation and preparation after the cards are counted: the arrays sized by counts,...
subroutine fstr_setup_finish(P, counts)
Processing after all the cards are read: the temperature arrays, the default step,...
This module provides functions to read in data from control file and do necessary preparation for fol...
subroutine fstr_setup(cntl_filename, hecMESH, hecMAT, fstrPARAM, fstrSOLID, fstrEIG, fstrHEAT, fstrDYNAMIC, fstrCPL, fstrFREQ)
Read in and initialize control data !
subroutine fstr_couple_finalize(C)
subroutine fstr_setup_cards(T)
Adds the cards of the control file to the table T, by the names without the '!' of the header....
subroutine fstr_setup_read_cards(ctrl, T, ipass, total, P)
Reads the cards of the control file in order, opening the files of !INCLUDE and stopping at !...
type(fstr_setup_counts) function fstr_setup_card_counts(T, total)
Counts for fstr_setup_prepare, from the totals of the sequences of the table T in the first reading.
This module provides subroutines to initialize, allocate and finalize fstr_solid, and to read the car...
subroutine fstr_setup_dashpot_a(ctrl, P)
Read in !DASHPOT_A !
subroutine fstr_setup_plastic(ctrl, P)
Read in !PLASTIC !
subroutine fstr_setup_material(ctrl, P)
Read in !MATERIAL !
subroutine fstr_setup_trs(ctrl, P)
Read in !TRS !
subroutine fstr_setup_spring_d(ctrl, P)
Read in !SPRING_D !
subroutine fstr_setup_acceleration(ctrl, P)
Read in !ACCELERATION !
subroutine fstr_setup_elemopt(ctrl, P)
Read in !ELEMOPT !
subroutine fstr_setup_output_vis(ctrl, P)
Read in !OUTPUT_VIS !
subroutine fstr_setup_output_res(ctrl, P)
Read in !OUTPUT_RES !
subroutine fstr_setup_step_store(ctrl, P)
Read in !STEP !
subroutine fstr_setup_creep(ctrl, P)
Read in !CREEP !
subroutine fstr_setup_boundary(ctrl, P)
Read in !BOUNDARY !
subroutine fstr_setup_damping(ctrl, P)
Read in !DAMPING !
subroutine fstr_setup_expansion_coeff(ctrl, P)
Read in !EXPANSION_COEF !
subroutine fstr_setup_viscoelastic(ctrl, P)
Read in !VISCOELASTIC !
subroutine fstr_setup_density(ctrl, P)
Read in !DENSITY !
subroutine fstr_setup_fluid(ctrl, P)
Read in !FLUID !
subroutine fstr_setup_step(ctrl, P)
Read in !STEP !
subroutine fstr_setup_section(ctrl, P)
Read in !SECTION !
subroutine fstr_setup_istep(ctrl, P)
Read in !ISTEP !
subroutine fstr_setup_user_material(ctrl, P)
Read in !USER_MATERIAL !
subroutine fstr_setup_dload(ctrl, P)
Read in !DLOAD.
subroutine fstr_setup_cload(ctrl, P)
Read in !CLOAD !
subroutine fstr_setup_spring_a(ctrl, P)
Read in !SPRING_A !
subroutine fstr_setup_write_store(ctrl, P)
Read in !WRITE after fstr_setup_prepare and store the output controls. fg_result and fg_visual are se...
subroutine fstr_setup_spring(ctrl, P)
Read in !SPRING !
subroutine fstr_setup_contact(ctrl, P)
Read in !CONTACT !
subroutine fstr_setup_dashpot_d(ctrl, P)
Read in !DASHPOT_D !
subroutine fstr_setup_embed(ctrl, P)
Read in !EMBED !
subroutine fstr_setup_static(ctrl, P)
Read in !STATIC(old) !
subroutine fstr_setup_write_flags(ctrl, P)
Read in !WRITE before fstr_setup_prepare and set fg_result and fg_visual.
subroutine fstr_setup_element_activation(ctrl, P)
Read in !ELEMENT_ACTIVATION.
subroutine fstr_setup_temperature(ctrl, P)
Read in !TEMPERATURE !
subroutine fstr_setup_velocity(ctrl, P)
Read in !VELOCITY !
subroutine fstr_setup_uload(ctrl, P)
Read in !ULOAD !
subroutine fstr_setup_couple(ctrl, P)
Read in !COUPLE !
subroutine fstr_setup_elastic(ctrl, P)
Read in !ELASTIC !
subroutine fstr_setup_hyperelastic(ctrl, P)
Read in !HYPERELASTIC !
This module defines common data and basic structures for analysis.
integer(kind=kint), parameter kon
integer(kind=kint), parameter ilog
FILE HANDLER.
integer(kind=kint), parameter kcaalagrange
This module manages step information.
This module provides a function to fetch material properties from hecmw.
This module manages step information.
This module provides aux functions.
Table of the cards of the control file, not changed after the cards are added. Each card is counted i...
Package of all data needs to initialize.
Data for coupling analysis.
Data for DYNAMIC ANSLYSIS (fstrDYNAMIC)
Package of data used by Lanczos eigenvalue solver.
Data for HEAT ANSLYSIS (fstrHEAT)
FSTR INNER CONTROL PARAMETERS (fstrPARAM)
Counts of the input for fstr_setup_prepare and fstr_setup_finish, independent of the input file forma...