FrontISTR  5.9.0
Large-scale structural analysis program with finit element method
fstr_dynamic_nlexplicit Module Reference

This module contains subroutines for nonlinear explicit dynamic analysis. More...

Functions/Subroutines

subroutine fstr_solve_dynamic_nlexplicit (hecMESH, hecMAT, fstrSOLID, fstrEIG, fstrDYN, fstrRESULT, fstrPARAM, infoCTChange, fstrCPL, restrt_step_num, restrt_step_count)
 
subroutine fstr_prepare_dynamic_explicit (hecMESH, hecMAT, fstrSOLID, fstrEIG, fstrDYN, ndof, nnod, restrt_step_count)
 Prepare initial state for explicit dynamic analysis (central difference). More...
 
subroutine fstr_advance_dynamic_explicit (cstep, istep, hecMESH, hecMAT, hecMATmpc, fstrSOLID, fstrEIG, fstrDYN, fstrPARAM, fstrCPL, infoCTChange, restrt_step_num, ndof, nnod, prevB, is_last_step)
 Advance one time step of explicit dynamic analysis. More...
 
subroutine forward_increment_lagrange (cstep, ndof, mmat, hecMESH, fstrSOLID, infoCTChange, wkarray, uc)
 

Detailed Description

This module contains subroutines for nonlinear explicit dynamic analysis.

Function/Subroutine Documentation

◆ forward_increment_lagrange()

subroutine fstr_dynamic_nlexplicit::forward_increment_lagrange ( integer, intent(in)  cstep,
integer, intent(in)  ndof,
real(kind=kreal), dimension(:), intent(in)  mmat,
type( hecmwst_local_mesh ), intent(in)  hecMESH,
type(fstr_solid), intent(inout)  fstrSOLID,
type(fstr_info_contactchange infoCTChange,
real(kind=kreal), dimension(:), intent(out)  wkarray,
real(kind=kreal), dimension(:), intent(out)  uc 
)
Parameters
[in]hecmeshtype mesh

Definition at line 457 of file fstr_dynamic_nlexplicit.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fstr_advance_dynamic_explicit()

subroutine fstr_dynamic_nlexplicit::fstr_advance_dynamic_explicit ( integer(kind=kint), intent(in)  cstep,
integer(kind=kint), intent(in)  istep,
type(hecmwst_local_mesh), intent(inout)  hecMESH,
type(hecmwst_matrix), intent(inout)  hecMAT,
type(hecmwst_matrix), intent(inout), pointer  hecMATmpc,
type(fstr_solid), intent(inout)  fstrSOLID,
type(fstr_eigen), intent(inout)  fstrEIG,
type(fstr_dynamic), intent(inout)  fstrDYN,
type(fstr_param), intent(inout)  fstrPARAM,
type(fstr_couple), intent(inout)  fstrCPL,
type(fstr_info_contactchange), intent(inout)  infoCTChange,
integer(kind=kint), intent(in)  restrt_step_num,
integer(kind=kint), intent(in)  ndof,
integer(kind=kint), intent(in)  nnod,
real(kind=kreal), dimension(:), intent(inout), allocatable  prevB,
logical, intent(in)  is_last_step 
)

Advance one time step of explicit dynamic analysis.

Parameters
[in]cstepcurrent loading step
[in]istepcurrent sub-step (time step index)

Definition at line 233 of file fstr_dynamic_nlexplicit.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fstr_prepare_dynamic_explicit()

subroutine fstr_dynamic_nlexplicit::fstr_prepare_dynamic_explicit ( type(hecmwst_local_mesh), intent(inout)  hecMESH,
type(hecmwst_matrix), intent(inout)  hecMAT,
type(fstr_solid), intent(inout)  fstrSOLID,
type(fstr_eigen), intent(inout)  fstrEIG,
type(fstr_dynamic), intent(inout)  fstrDYN,
integer(kind=kint), intent(in)  ndof,
integer(kind=kint), intent(in)  nnod,
integer(kind=kint), intent(in)  restrt_step_count 
)

Prepare initial state for explicit dynamic analysis (central difference).

Computes the diagonal effective mass VEC1 = (1/dt^2 + ray_m/(2*dt)) * mass and the virtual past displacements DISP(:,3) = u(-dt), DISP(:,2) = u(-2*dt) used to start the central-difference scheme. All scheme-specific coefficients are local to this subroutine.

Definition at line 183 of file fstr_dynamic_nlexplicit.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fstr_solve_dynamic_nlexplicit()

subroutine fstr_dynamic_nlexplicit::fstr_solve_dynamic_nlexplicit ( type(hecmwst_local_mesh hecMESH,
type(hecmwst_matrix hecMAT,
type(fstr_solid fstrSOLID,
type(fstr_eigen fstrEIG,
type(fstr_dynamic fstrDYN,
type(hecmwst_result_data)  fstrRESULT,
type(fstr_param fstrPARAM,
type(fstr_info_contactchange infoCTChange,
type(fstr_couple fstrCPL,
integer(kind=kint)  restrt_step_num,
integer(kind=kint)  restrt_step_count 
)
Parameters
infoctchangefstr_info_contactChange

Definition at line 29 of file fstr_dynamic_nlexplicit.f90.

Here is the call graph for this function:
Here is the caller graph for this function: