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

Go to the source code of this file.

Modules

module  m_fstr_contact_elem_alag
 Alag method implementations for contact element calculations.
 

Functions/Subroutines

subroutine, public m_fstr_contact_elem_alag::getcontactstiffness_alag (cstate, tSurf, ele, mu, mut, fcoeff, symm, stiff, force, smoothing_type, edisp, iter, slvpos)
 
subroutine, public m_fstr_contact_elem_alag::get_unique_map (sSurf, maplist, master_idxs, unique_count)
 
subroutine, public m_fstr_contact_elem_alag::getintgap (slave_surf, master, coord, disp, ddisp, unique_count, maplist, master_idxs, Snode, Nsnode, gapwnode)
 Compute the per-node mortar constraint quantities of one slave segment. More...
 
subroutine, public m_fstr_contact_elem_alag::build_group_tangent_basis (n_hat, t1, t2)
 Build an orthonormal tangent basis (t1,t2) as the orthogonal complement of a group-representative slave inward normal n_hat (Householder / I - n(x)n). The master geometry is NOT used. More...
 
subroutine, public m_fstr_contact_elem_alag::gettangentslip (slave_surf, master, coord, disp, ddisp, unique_count, maplist, master_idxs, Sigma_node, nacc_node)
 Aggregate, per master group g and slave-surf node a of one mortar slave segment, the mortar-weighted 3D relative displacement and the slave-normal accumulator. More...
 
subroutine, public m_fstr_contact_elem_alag::group_return_mapping (lam_t_in, rho_t, Dxi, fcoeff, lam_n, eps_fric_band, lam_t_out, fric_state, alpha, that, update_state)
 Group-level Coulomb return mapping for the tangent multiplier (metric = I). More...
 
subroutine, public m_fstr_contact_elem_alag::resolve_lambda_cur (surf, master_idxs, unique_count, nnode_s, sorted_idx, lambda_node, lam_t_cur, fric_state_cur)
 Mortar: resolve the current per-node lambda of each active group of one slave surf. master_idxs is sorted ascending and merged against the ascending begin/working buffers with the rule: working hit -> working / else begin hit -> begin / else 0. More...
 
subroutine, public m_fstr_contact_elem_alag::getcontactstiffness_alag_surfsurf (slave_surf, master, coord, disp, ddisp, mu, mut, fcoeff, symm, eps_fric_band, unique_count, maplist, master_idxs, stiff_n, active_n, stiff_t, active_t)
 Mortar (SURF-SURF) ALag: contact stiffness of one slave segment. More...
 
subroutine, public m_fstr_contact_elem_alag::getcontactnodalforce_alag_surfsurf (purpose, slave_surf, master, coord, disp, ddisp, mu, mut, fcoeff, symm, eps_fric_band, unique_count, maplist, master_idxs, ctNForce, active_n, ctTForce, active_t)
 Mortar (SURF-SURF) ALag: contact nodal force of one slave segment. More...
 
subroutine, public m_fstr_contact_elem_alag::getcontactnodalforce_alag (ctState, tSurf, ndCoord, ndDu, mu, mut, fcoeff, symm, lagrange, ctNForce, ctTForce, cflag, smoothing_type)
 
subroutine, public m_fstr_contact_elem_alag::updatecontactmultiplier_alag (ctState, ndLocal, coord, disp, ddisp, mu, mut, fcoeff, tSurf, lgnt, ctchanged, ctNForce, ctTForce, jump_ratio, smoothing_type)
 
subroutine, public m_fstr_contact_elem_alag::gettiedstiffness_alag (cstate, tSurf, mu, stiff, force)
 
subroutine, public m_fstr_contact_elem_alag::gettiednodalforce_alag (ctState, tSurf, ndu, mu, ctNForce, ctTForce)