![]() |
FrontISTR
5.2.0
Large-scale structural analysis program with finit element method
|
This module provides functions of reconstructing. More...
Data Types | |
type | noderelated |
Structure for defining stiffness matrix structure. More... | |
type | fstrst_matrix_contact_lagrange |
Structure for Lagrange multiplier-related part of stiffness matrix (Lagrange multiplier-related matrix) More... | |
Functions/Subroutines | |
subroutine | fstr_save_originalmatrixstructure (hecMAT) |
This subroutine saves original matrix structure constructed originally by hecMW_matrix. More... | |
subroutine | fstr_mat_con_contact (cstep, hecMAT, fstrSOLID, fstrMAT, infoCTChange, conMAT) |
this subroutine reconstructs node-based (stiffness) matrix structure \corresponding to contact state More... | |
subroutine | getoriginallistofrelatednodes (np, num_lagrange) |
Get original list of related nodes. More... | |
subroutine | getnewlistofrelatednodesandlagrangemultipliers (cstep, np, fstrSOLID, countNon0LU_node, countNon0LU_lagrange) |
Construct new list of related nodes and Lagrange multipliers. Here, a procedure similar to HEC_MW is used. More... | |
subroutine | constructnewmatrixstructure (hecMAT, fstrMAT, numNon0_node, numNon0_lagrange, conMAT) |
Construct new stiffness matrix structure. More... | |
subroutine | fstr_copy_lagrange_contact (fstrSOLID, fstrMAT) |
Copy Lagrange multipliers. More... | |
logical function | fstr_is_matrixstruct_symmetric (fstrSOLID, hecMESH) |
this function judges whether sitiffness matrix is symmetric or not More... | |
Variables | |
integer(kind=kint), save | npl_org |
integer(kind=kint), save | npu_org |
original number of non-zero items More... | |
type(noderelated), dimension(:), pointer, save | list_noderelated_org => null() |
original structure of matrix More... | |
type(noderelated), dimension(:), pointer | list_noderelated => null() |
current structure of matrix More... | |
logical | permission = .false. |
This module provides functions of reconstructing.
subroutine fstr_matrix_con_contact::constructnewmatrixstructure | ( | type(hecmwst_matrix) | hecMAT, |
type(fstrst_matrix_contact_lagrange) | fstrMAT, | ||
integer(kind=kint) | numNon0_node, | ||
integer(kind=kint) | numNon0_lagrange, | ||
type(hecmwst_matrix), optional | conMAT | ||
) |
Construct new stiffness matrix structure.
hecmat | type hecmwST_matrix |
fstrmat | type fstrST_matrix_contact_lagrange |
numnon0_lagrange | node-based number of non-zero items in half of the matrix |
Definition at line 250 of file fstr_mat_con_contact.f90.
subroutine fstr_matrix_con_contact::fstr_copy_lagrange_contact | ( | type(fstr_solid) | fstrSOLID, |
type(fstrst_matrix_contact_lagrange) | fstrMAT | ||
) |
Copy Lagrange multipliers.
fstrsolid | type fstr_solid |
fstrmat | fstrST_matrix_contact_lagrange |
Definition at line 579 of file fstr_mat_con_contact.f90.
logical function fstr_matrix_con_contact::fstr_is_matrixstruct_symmetric | ( | type(fstr_solid ) | fstrSOLID, |
type(hecmwst_local_mesh) | hecMESH | ||
) |
this function judges whether sitiffness matrix is symmetric or not
Definition at line 599 of file fstr_mat_con_contact.f90.
subroutine fstr_matrix_con_contact::fstr_mat_con_contact | ( | integer(kind=kint) | cstep, |
type(hecmwst_matrix) | hecMAT, | ||
type(fstr_solid) | fstrSOLID, | ||
type(fstrst_matrix_contact_lagrange) | fstrMAT, | ||
type(fstr_info_contactchange) | infoCTChange, | ||
type (hecmwst_matrix), optional | conMAT | ||
) |
this subroutine reconstructs node-based (stiffness) matrix structure \corresponding to contact state
cstep | current loading step |
hecmat | type hecmwST_matrix |
fstrsolid | type fstr_solid |
fstrmat | type fstrST_matrix_contact_lagrange |
infoctchange | type fstr_contactChange |
Definition at line 92 of file fstr_mat_con_contact.f90.
subroutine fstr_matrix_con_contact::fstr_save_originalmatrixstructure | ( | type(hecmwst_matrix) | hecMAT | ) |
This subroutine saves original matrix structure constructed originally by hecMW_matrix.
hecmat | type hecmwST_matrix |
Definition at line 52 of file fstr_mat_con_contact.f90.
subroutine fstr_matrix_con_contact::getnewlistofrelatednodesandlagrangemultipliers | ( | integer(kind=kint) | cstep, |
integer(kind=kint) | np, | ||
type(fstr_solid) | fstrSOLID, | ||
integer(kind=kint) | countNon0LU_node, | ||
integer(kind=kint) | countNon0LU_lagrange | ||
) |
Construct new list of related nodes and Lagrange multipliers. Here, a procedure similar to HEC_MW is used.
fstrsolid | type fstr_solid |
cstep | current loading step |
np | total number of nodes |
countnon0lu_lagrange | counters of node-based number of non-zero items |
Definition at line 165 of file fstr_mat_con_contact.f90.
subroutine fstr_matrix_con_contact::getoriginallistofrelatednodes | ( | integer(kind=kint) | np, |
integer(kind=kint) | num_lagrange | ||
) |
Get original list of related nodes.
num_lagrange | total number of nodes |
Definition at line 135 of file fstr_mat_con_contact.f90.
type(noderelated), dimension(:), pointer fstr_matrix_con_contact::list_noderelated => null() |
current structure of matrix
Definition at line 42 of file fstr_mat_con_contact.f90.
type(noderelated), dimension(:), pointer, save fstr_matrix_con_contact::list_noderelated_org => null() |
original structure of matrix
Definition at line 40 of file fstr_mat_con_contact.f90.
integer(kind=kint), save fstr_matrix_con_contact::npl_org |
Definition at line 39 of file fstr_mat_con_contact.f90.
integer(kind=kint), save fstr_matrix_con_contact::npu_org |
original number of non-zero items
Definition at line 39 of file fstr_mat_con_contact.f90.
logical fstr_matrix_con_contact::permission = .false. |
Definition at line 44 of file fstr_mat_con_contact.f90.