FrontISTR  5.9.0
Large-scale structural analysis program with finit element method
fstr_contact.f90 File Reference

Go to the source code of this file.

Modules

module  mcontact
 Top-level contact analysis module (System level)
 

Functions/Subroutines

subroutine mcontact::fstr_addcontactstiffness (cstep, ctAlgo, iter, hecMESH, conMAT, hecLagMAT, fstrSOLID)
 
subroutine mcontact::fstr_update_ndforce_contact (cstep, ctAlgo, hecMESH, hecLagMAT, fstrSOLID, conMAT)
 Compute contact forces for residual vector (conMATB). More...
 
subroutine mcontact::fstr_calc_contact_output_force (cstep, ctAlgo, hecMESH, hecLagMAT, fstrSOLID, conMAT)
 Compute contact forces for output (CONT_NFORCE/CONT_FRIC). More...
 
subroutine, public mcontact::fstr_calc_contact_output_force_exp (hecMESH, fstrSOLID)
 Explicit-dynamic counterpart of fstr_calc_contact_output_force. More...
 
subroutine mcontact::fstr_contact_ndforce_core (purpose, cstep, ctAlgo, hecMESH, hecLagMAT, fstrSOLID, conMAT)
 Core routine: compute contact nodal forces for all contact/embed pairs. purpose == kctForResidual: assemble into conMATB purpose == kctForOutput: store into CONT_NFORCE/CONT_FRIC (zero-cleared first) More...
 
subroutine mcontact::fstr_calc_contact_refstiff (cstep, hecMESH, hecMAT, fstrSOLID)
 Calculate reference stiffness for all contact pairs (System Level) More...
 
subroutine mcontact::fstr_scan_contact_state (cstep, sub_step, cont_step, dt, ctAlgo, hecMESH, fstrSOLID, infoCTChange)
 Scanning contact state. More...
 
subroutine mcontact::fstr_scan_contact_state_exp (cstep, is_init, hecMESH, fstrSOLID, infoCTChange)
 Scanning contact state. More...
 
logical function mcontact::fstr_is_contact_active ()
 Whether contact stiffness and residual have to be assembled. Broader than is_contact_active(state): a NEAR node with damping requires assembly as well. More...
 
subroutine mcontact::fstr_set_contact_active (a)
 
logical function mcontact::fstr_is_contact_conv (ctAlgo, infoCTChange, hecMESH)
 
logical function mcontact::fstr_is_matrixstructure_changed (infoCTChange)
 Any state category change moves a Lagrange multiplier row or a slave-master coupling. More...
 
subroutine mcontact::fstr_update_contact_multiplier (cstep, ctAlgo, hecMESH, hecLagMAT, fstrSOLID, ctchanged)
 
subroutine mcontact::fstr_begin_lambda_txn (fstrSOLID, cstep)
 BEGIN lambda transaction (MORTAR=YES only): clear the working buffer and restore the segment state from the committed begin values. Called at the start of every substep attempt; a cutback retry does not restore slave_surf, so the failed attempt's lambda is discarded here. More...
 
subroutine mcontact::fstr_commit_lambda_txn (fstrSOLID, cstep)
 COMMIT lambda transaction (MORTAR=YES only): keep the masters with a positive per-node lambda and swap them into the begin buffer with the segment state. Called only on a converged substep exit, so begin is the warm-start source of the next substep. The discharge predicate is the complementarity condition (the assembly clamps at 0). More...
 
subroutine mcontact::fstr_update_contact_tangentforce (cstep, fstrSOLID)
 Update tangent force. More...
 
subroutine, public mcontact::fstr_update_contact_state_vectors (fstrSOLID, dt)
 Update contact state output vectors for all contacts. More...