![]() |
FrontISTR
6.0.0
Large-scale structural analysis program with finit element method
|
This module provides function to calculate residual of nodal force. More...
Functions/Subroutines | |
| subroutine, public | fstr_update_ndforce (cstep, hecMESH, hecMAT, fstrSOLID, conMAT) |
| subroutine, public | fstr_update_ndforce_mpc (hecMESH, B) |
| subroutine, public | fstr_update_ndforce_spc (cstep, hecMESH, fstrSOLID, B) |
| subroutine, public | fstr_update_reaction_spc (cstep, hecMESH, fstrSOLID) |
| Set fstrSOLIDREACTION at constrained DOFs using current fstrSOLIDQFORCE. Constrained DOFs are enumerated from BOUNDARY_ngrp_*, and (when present) VELOCITY_ngrp_* / ACCELERATION_ngrp_* with non-initial type. This subroutine must be called after fstr_UpdateNewton so that REACTION reflects the converged internal nodal force of the current (sub)step. More... | |
| subroutine | fstr_calc_residual_vector (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM) |
| \breaf This subroutine calculate residual vector More... | |
| subroutine | fstr_calc_residual_vector_with_x (hecMESH, hecMAT, fstrSOLID, ctime, tincr, iter, cstep, dtime, fstrPARAM) |
| \breaf This subroutine calculate residual vector More... | |
| real(kind=kreal) function | fstr_get_energy (force, displacement, hecMESH) |
| Calculate magnitude of a real vector. More... | |
| subroutine, public | fstr_assemble_residual_contact (hecMAT, hecLagMAT, conMAT, hecMESH, resid_vec, nresid) |
| Assemble contact residual vector (hecMATB + conMATB + Lagrange) into a single vector. More... | |
| real(kind=kreal) function, public | fstr_get_potential (cstep, hecMESH, hecMAT, fstrSOLID, ptype) |
| real(kind=kreal) function | fstr_get_potential_with_x (cstep, hecMESH, hecMAT, fstrSOLID, ptype) |
| subroutine | plot_potential_graph (cstep, hecMESH, hecMAT, fstrSOLID, fstrPARAM, restrt_step_num, sub_step, ctime, dtime, iter, tincr) |
This module provides function to calculate residual of nodal force.
| subroutine, public m_fstr_residual::fstr_assemble_residual_contact | ( | type(hecmwst_matrix), intent(in) | hecMAT, |
| type(hecmwst_matrix_lagrange), intent(in) | hecLagMAT, | ||
| type(hecmwst_matrix), intent(in) | conMAT, | ||
| type(hecmwst_local_mesh), intent(in) | hecMESH, | ||
| real(kind=kreal), dimension(:), intent(out) | resid_vec, | ||
| integer(kind=kint), intent(out) | nresid | ||
| ) |
Assemble contact residual vector (hecMATB + conMATB + Lagrange) into a single vector.
conMAT holds the contact contribution on its own partition boundary, so it has to be summed across subdomains before being added to hecMATB.
Definition at line 304 of file fstr_Residual.f90.
| subroutine m_fstr_residual::fstr_calc_residual_vector | ( | type (hecmwst_local_mesh) | hecMESH, |
| type (hecmwst_matrix) | hecMAT, | ||
| type (fstr_solid) | fstrSOLID, | ||
| real(kind=kreal), intent(in) | ctime, | ||
| real(kind=kreal), intent(in) | tincr, | ||
| integer(kind=kint) | iter, | ||
| integer, intent(in) | cstep, | ||
| real(kind=kreal), intent(in) | dtime, | ||
| type (fstr_param) | fstrPARAM | ||
| ) |
\breaf This subroutine calculate residual vector
| [in] | cstep | current loading step |
| hecmesh | hecmw mesh | |
| hecmat | hecmw matrix | |
| fstrsolid | fstr_solid | |
| [in] | ctime | current time |
| [in] | dtime | time increment |
| fstrparam | type fstr_param |
Definition at line 215 of file fstr_Residual.f90.
| subroutine m_fstr_residual::fstr_calc_residual_vector_with_x | ( | type (hecmwst_local_mesh) | hecMESH, |
| type (hecmwst_matrix) | hecMAT, | ||
| type (fstr_solid) | fstrSOLID, | ||
| real(kind=kreal), intent(in) | ctime, | ||
| real(kind=kreal), intent(in) | tincr, | ||
| integer(kind=kint) | iter, | ||
| integer, intent(in) | cstep, | ||
| real(kind=kreal), intent(in) | dtime, | ||
| type (fstr_param) | fstrPARAM | ||
| ) |
\breaf This subroutine calculate residual vector
| [in] | cstep | current loading step |
| hecmesh | hecmw mesh | |
| hecmat | hecmw matrix | |
| fstrsolid | fstr_solid | |
| [in] | ctime | current time |
| [in] | dtime | time increment |
| fstrparam | type fstr_param |
Definition at line 246 of file fstr_Residual.f90.
| real(kind=kreal) function m_fstr_residual::fstr_get_energy | ( | real(kind=kreal), dimension(:), intent(in) | force, |
| real(kind=kreal), dimension(:), intent(in) | displacement, | ||
| type(hecmwst_local_mesh), intent(in) | hecMESH | ||
| ) |
Calculate magnitude of a real vector.
| [in] | hecmesh | mesh information |
Definition at line 291 of file fstr_Residual.f90.
| real(kind=kreal) function, public m_fstr_residual::fstr_get_potential | ( | integer(kind=kint), intent(in) | cstep, |
| type(hecmwst_local_mesh), intent(in) | hecMESH, | ||
| type(hecmwst_matrix), intent(inout) | hecMAT, | ||
| type(fstr_solid), intent(inout) | fstrSOLID, | ||
| integer(kind=kint), intent(in) | ptype | ||
| ) |
| [in] | cstep | current step |
| [in] | hecmesh | mesh information |
| [in,out] | hecmat | linear equation, its right side modified here |
| [in,out] | fstrsolid | we need boundary conditions of curr step |
Definition at line 341 of file fstr_Residual.f90.
| real(kind=kreal) function m_fstr_residual::fstr_get_potential_with_x | ( | integer(kind=kint), intent(in) | cstep, |
| type(hecmwst_local_mesh), intent(in) | hecMESH, | ||
| type(hecmwst_matrix), intent(inout) | hecMAT, | ||
| type(fstr_solid), intent(inout) | fstrSOLID, | ||
| integer(kind=kint), intent(in) | ptype | ||
| ) |
| [in] | cstep | current step |
| [in] | hecmesh | mesh information |
| [in,out] | hecmat | linear equation, its right side modified here |
| [in,out] | fstrsolid | we need boundary conditions of curr step |
Definition at line 407 of file fstr_Residual.f90.
| subroutine, public m_fstr_residual::fstr_update_ndforce | ( | integer(kind=kint), intent(in) | cstep, |
| type(hecmwst_local_mesh), intent(in) | hecMESH, | ||
| type(hecmwst_matrix), intent(inout) | hecMAT, | ||
| type(fstr_solid), intent(inout) | fstrSOLID, | ||
| type(hecmwst_matrix), intent(inout), optional | conMAT | ||
| ) |
| [in] | cstep | In this subroutine, nodal force arising from prescribed displacement constraints are cleared and nodal force residual is calculated. Those constraints considered here includes:
|
| [in] | cstep | current step |
| [in] | hecmesh | mesh information |
| [in,out] | hecmat | linear equation, its right side modified here |
| [in,out] | fstrsolid | we need boundary conditions of curr step |
Definition at line 22 of file fstr_Residual.f90.
| subroutine, public m_fstr_residual::fstr_update_ndforce_mpc | ( | type(hecmwst_local_mesh), intent(in) | hecMESH, |
| real(kind=kreal), dimension(:), intent(inout) | B | ||
| ) |
| [in] | hecmesh | mesh information |
| [in,out] | b | right hand side |
Definition at line 65 of file fstr_Residual.f90.
| subroutine, public m_fstr_residual::fstr_update_ndforce_spc | ( | integer(kind=kint), intent(in) | cstep, |
| type(hecmwst_local_mesh), intent(in) | hecMESH, | ||
| type(fstr_solid), intent(in) | fstrSOLID, | ||
| real(kind=kreal), dimension(:), intent(inout) | B | ||
| ) |
| [in] | cstep | current step |
| [in] | hecmesh | mesh information |
| [in] | fstrsolid | we need boundary conditions of curr step |
| [in,out] | b | right hand side |
Definition at line 95 of file fstr_Residual.f90.
| subroutine, public m_fstr_residual::fstr_update_reaction_spc | ( | integer(kind=kint), intent(in) | cstep, |
| type(hecmwst_local_mesh), intent(in) | hecMESH, | ||
| type(fstr_solid), intent(in) | fstrSOLID | ||
| ) |
Set fstrSOLIDREACTION at constrained DOFs using current fstrSOLIDQFORCE. Constrained DOFs are enumerated from BOUNDARY_ngrp_*, and (when present) VELOCITY_ngrp_* / ACCELERATION_ngrp_* with non-initial type. This subroutine must be called after fstr_UpdateNewton so that REACTION reflects the converged internal nodal force of the current (sub)step.
| [in] | cstep | current step |
| [in] | hecmesh | mesh information |
| [in] | fstrsolid | constraints and QFORCE |
Definition at line 135 of file fstr_Residual.f90.
| subroutine m_fstr_residual::plot_potential_graph | ( | integer, intent(in) | cstep, |
| type (hecmwst_local_mesh) | hecMESH, | ||
| type (hecmwst_matrix) | hecMAT, | ||
| type (fstr_solid) | fstrSOLID, | ||
| type (fstr_param) | fstrPARAM, | ||
| integer(kind=kint) | restrt_step_num, | ||
| integer, intent(in) | sub_step, | ||
| real(kind=kreal), intent(in) | ctime, | ||
| real(kind=kreal), intent(in) | dtime, | ||
| integer(kind=kint) | iter, | ||
| real(kind=kreal) | tincr | ||
| ) |
| [in] | cstep | current loading step |
| hecmesh | hecmw mesh | |
| hecmat | hecmw matrix | |
| fstrsolid | fstr_solid | |
| [in] | sub_step | substep number of current loading step |
| [in] | ctime | current time |
| [in] | dtime | time increment |
| fstrparam | type fstr_param |
Definition at line 450 of file fstr_Residual.f90.