FrontISTR  6.0.0
Large-scale structural analysis program with finit element method
fstr_contact_def.F90 File Reference

Go to the source code of this file.

Data Types

type  mcontactdef::tcontactstate
 This structure records contact status. More...
 
type  mcontactdef::tcontactsurf
 Structure to define a slave surface segment of a SURF-SURF (mortar) contact pair. More...
 
type  mcontactdef::tcontact
 Structure to includes all info needed by contact calculation. More...
 
type  mcontactdef::fstr_info_contactchange
 

Modules

module  mcontactdef
 This module manages the data structure for contact calculation.
 

Functions/Subroutines

subroutine mcontactdef::contact_state_init (cstate)
 Initializer. More...
 
subroutine mcontactdef::contact_state_copy (cstate1, cstate2)
 Copy. More...
 
pure logical function mcontactdef::is_contact_active (state)
 Whether the contact state has active LM constraint (STICK or SLIP) More...
 
pure logical function mcontactdef::is_contact_free (state)
 Whether the contact state is completely free (no projection info) More...
 
pure integer function mcontactdef::contact_state_category (state)
 Which of the three categories the contact state belongs to. More...
 
subroutine mcontactdef::fstr_contact_finalize (contact)
 Finalizer. More...
 
logical function mcontactdef::fstr_contact_check (contact, hecMESH)
 Check the consistency with given mesh of contact definition. More...
 
integer(kind=kint) function mcontactdef::fstr_count_internal_slaves (contact, hecMESH)
 Number of slave nodes of this contact owned by the current rank. More...
 
logical function mcontactdef::fstr_contact_init (contact, hecMESH, cparam)
 Initializer of tContactState. More...
 
logical function mcontactdef::fstr_embed_init (embed, hecMESH, cparam)
 Initializer of tContactState for embed case. More...
 
integer(kind=kint) function mcontactdef::check_apply_contact_if (contact_if, contacts)
 
subroutine mcontactdef::clear_contact_state (contact)
 Reset contact state all to free. More...
 
subroutine mcontactdef::initialize_csurf (eid, etype, nsurf, surf)
 Initializer of a slave surface segment (SURF-SURF mortar) More...
 

Variables

real(kind=kreal), save mcontactdef::cgn =1.d-5
 convergent condition of penetration More...
 
real(kind=kreal), save mcontactdef::cgt =1.d-3
 convergent condition of relative tangent disp More...
 
real(kind=kreal), dimension(2), save mcontactdef::gnt
 1:current average penetration; 2:current relative tangent displacement More...
 
real(kind=kreal), dimension(2), save mcontactdef::bakgnt
 1:current average penetration; 2:current relative tangent displacement! More...
 
integer, parameter mcontactdef::contactunknown = -1
 
integer, parameter mcontactdef::contactfree = -1
 contact state definition More...
 
integer, parameter mcontactdef::contactnear = 0
 near contact: projection info available, no LM constraint More...
 
integer, parameter mcontactdef::contactstick = 1
 
integer, parameter mcontactdef::contactslip = 2
 
integer, parameter mcontactdef::candidate_intp = 3
 SURF-SURF: integration point to be re-projected in this scan. More...
 
integer, parameter mcontactdef::kcatfree = 1
 contact state category: states sharing a category contribute to the matrix in the same way More...
 
integer, parameter mcontactdef::kcatnear = 2
 projection only, no Lagrange multiplier More...
 
integer, parameter mcontactdef::kcatcont = 3
 Lagrange multiplier held (STICK or SLIP) More...
 
integer, parameter mcontactdef::contacttied = 1
 contact type or algorithm definition More...
 
integer, parameter mcontactdef::contactglued = 2
 
integer, parameter mcontactdef::contactsslid = 3
 
integer, parameter mcontactdef::contactfslid = 4
 
integer, parameter mcontactdef::kcsnone = 0
 contact smoothing type More...
 
integer, parameter mcontactdef::kcsnagata = 1
 
integer, parameter mcontactdef::contactn2s = 1
 contact method More...
 
integer, parameter mcontactdef::contacts2s = 2
 
integer, parameter mcontactdef::sparsity_none = 0
 sparsity expansion mode (per contact pair, set by !CONTACT EXPANSION=) More...
 
integer, parameter mcontactdef::sparsity_neighbor = 1
 register current master + neighbors (fewer matrix rebuilds) More...
 
integer, parameter mcontactdef::max_n_intp = 128
 upper bound of integration points per SURF-SURF slave segment More...
 
integer, parameter mcontactdef::c_if_slave = 1
 contact interference type More...
 
integer, parameter mcontactdef::c_if_master = 2
 
integer, parameter mcontactdef::kctforresidual = 1
 purpose flag for contact force calculation More...
 
integer, parameter mcontactdef::kctforoutput = 2
 compute contact force for output (CONT_NFORCE/CONT_FRIC) More...