![]() |
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.