![]() |
FrontISTR
5.9.0
Large-scale structural analysis program with finit element method
|
Contact search and state scanning at search level (all pairs in one tContact) More...
Functions/Subroutines | |
| subroutine | track_contact_position (nslave, contact, currpos, currdisp, infoCTChange, nodeID, elemID, flag_ctAlgo) |
| This subroutine tracks down next contact position after a finite slide When flag_ctAlgo is present, implicit-specific processing (update_TangentForce for SLagrange) is performed. More... | |
| subroutine | scan_contact_state (contact, currpos, currdisp, infoCTChange, nodeID, elemID, is_init, active, hecMESH, flag_ctAlgo, ndforce) |
| This subroutine update contact states, which include. More... | |
| subroutine | scan_embed_state (flag_ctAlgo, embed, currpos, currdisp, ndforce, infoCTChange, nodeID, elemID, is_init, active, B) |
| This subroutine update contact states, which include. More... | |
| subroutine | remove_duplication_tiedcontact (cstep, hecMESH, fstrSOLID, infoCTChange) |
| Scanning contact state. More... | |
Variables | |
| integer(kind=kint), parameter | contact_log_level = 0 |
| Set >= 1 to enable per-node contact log output (for debugging) More... | |
Contact search and state scanning at search level (all pairs in one tContact)
| subroutine m_fstr_contact_search::remove_duplication_tiedcontact | ( | integer(kind=kint), intent(in) | cstep, |
| type( hecmwst_local_mesh ), intent(in) | hecMESH, | ||
| type(fstr_solid), intent(inout) | fstrSOLID, | ||
| type(fstr_info_contactchange), intent(inout) | infoCTChange | ||
| ) |
Scanning contact state.
| [in] | cstep | current step number |
| [in] | hecmesh | type mesh |
| [in,out] | fstrsolid | type fstr_solid |
Definition at line 540 of file fstr_contact_search.f90.
| subroutine m_fstr_contact_search::scan_contact_state | ( | type( tcontact ), intent(inout) | contact, |
| real(kind=kreal), dimension(:), intent(in) | currpos, | ||
| real(kind=kreal), dimension(:), intent(in) | currdisp, | ||
| type( fstr_info_contactchange ), intent(inout) | infoCTChange, | ||
| integer(kind=kint), dimension(:), intent(in) | nodeID, | ||
| integer(kind=kint), dimension(:), intent(in) | elemID, | ||
| logical, intent(in) | is_init, | ||
| logical, intent(out) | active, | ||
| type( hecmwst_local_mesh ), intent(in), optional | hecMESH, | ||
| character(len=9), intent(in), optional | flag_ctAlgo, | ||
| real(kind=kreal), dimension(:), intent(in), optional | ndforce | ||
| ) |
This subroutine update contact states, which include.
| [in,out] | contact | contact info |
| [in,out] | infoctchange | contact change info |
| [in] | currpos | current coordinate of each nodes |
| [in] | currdisp | current displacement of each nodes |
| [in] | nodeid | global nodal ID, just for print out |
| [in] | elemid | global elemental ID, just for print out |
| [in] | is_init | whether initial scan or not |
| [out] | active | if any in contact |
| [in] | hecmesh | mesh for MPI communication |
| [in] | flag_ctalgo | contact analysis algorithm flag (implicit only) |
| [in] | ndforce | nodal force (implicit only) |
Definition at line 144 of file fstr_contact_search.f90.
| subroutine m_fstr_contact_search::scan_embed_state | ( | character(len=9), intent(in) | flag_ctAlgo, |
| type( tcontact ), intent(inout) | embed, | ||
| real(kind=kreal), dimension(:), intent(in) | currpos, | ||
| real(kind=kreal), dimension(:), intent(in) | currdisp, | ||
| real(kind=kreal), dimension(:), intent(in) | ndforce, | ||
| type( fstr_info_contactchange ), intent(inout) | infoCTChange, | ||
| integer(kind=kint), dimension(:), intent(in) | nodeID, | ||
| integer(kind=kint), dimension(:), intent(in) | elemID, | ||
| logical, intent(in) | is_init, | ||
| logical, intent(out) | active, | ||
| real(kind=kreal), dimension(:), optional, target | B | ||
| ) |
This subroutine update contact states, which include.
| [in] | flag_ctalgo | contact analysis algorithm flag |
| [in,out] | embed | contact info |
| [in,out] | infoctchange | contact change info |
| [in] | currpos | current coordinate of each nodes |
| [in] | currdisp | current displacement of each nodes |
| [in] | ndforce | nodal force |
| [in] | nodeid | global nodal ID, just for print out |
| [in] | elemid | global elemental ID, just for print out |
| [in] | is_init | whether initial scan or not |
| [out] | active | if any in contact |
| b | nodal force residual |
Definition at line 399 of file fstr_contact_search.f90.
| subroutine m_fstr_contact_search::track_contact_position | ( | integer, intent(in) | nslave, |
| type( tcontact ), intent(inout) | contact, | ||
| real(kind=kreal), dimension(:), intent(in) | currpos, | ||
| real(kind=kreal), dimension(:), intent(in) | currdisp, | ||
| type( fstr_info_contactchange ), intent(inout) | infoCTChange, | ||
| integer(kind=kint), dimension(:), intent(in) | nodeID, | ||
| integer(kind=kint), dimension(:), intent(in) | elemID, | ||
| character(len=9), intent(in), optional | flag_ctAlgo | ||
| ) |
This subroutine tracks down next contact position after a finite slide When flag_ctAlgo is present, implicit-specific processing (update_TangentForce for SLagrange) is performed.
| [in] | nslave | slave node |
| [in,out] | contact | contact info |
| [in,out] | infoctchange | contact change info |
| [in] | currpos | current coordinate of each nodes |
| [in] | currdisp | current displacement of each nodes |
| [in] | nodeid | global nodal ID, just for print out |
| [in] | elemid | global elemental ID, just for print out |
| [in] | flag_ctalgo | contact analysis algorithm flag (implicit only) |
checking the contact element of last step
Definition at line 25 of file fstr_contact_search.f90.
| integer(kind=kint), parameter m_fstr_contact_search::contact_log_level = 0 |
Set >= 1 to enable per-node contact log output (for debugging)
Definition at line 18 of file fstr_contact_search.f90.