![]() |
FrontISTR
5.9.0
Large-scale structural analysis program with finit element method
|
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) |
This module contains subroutines for nonlinear explicit dynamic analysis.
| 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 | ||
| ) |
| [in] | hecmesh | type mesh |
Definition at line 457 of file fstr_dynamic_nlexplicit.f90.
| 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.
| [in] | cstep | current loading step |
| [in] | istep | current sub-step (time step index) |
Definition at line 233 of file fstr_dynamic_nlexplicit.f90.
| 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.
| 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 | ||
| ) |
| infoctchange | fstr_info_contactChange |
Definition at line 29 of file fstr_dynamic_nlexplicit.f90.