FrontISTR  5.9.0
Large-scale structural analysis program with finit element method
m_fstr_contact_elem_alag Module Reference

Alag method implementations for contact element calculations. More...

Functions/Subroutines

subroutine, public getcontactstiffness_alag (cstate, tSurf, ele, mu, mut, fcoeff, symm, stiff, force)
 
subroutine, public getcontactnodalforce_alag (ctState, tSurf, ndCoord, ndDu, mu, mut, fcoeff, lagrange, ctNForce, ctTForce, cflag)
 
subroutine, public updatecontactmultiplier_alag (ctState, ndLocal, coord, disp, ddisp, mu, mut, fcoeff, etype, lgnt, ctchanged, ctNForce, ctTForce, jump_ratio)
 
subroutine, public gettiedstiffness_alag (cstate, tSurf, mu, stiff, force)
 
subroutine, public gettiednodalforce_alag (ctState, tSurf, ndu, mu, ctNForce, ctTForce)
 

Detailed Description

Alag method implementations for contact element calculations.

Function/Subroutine Documentation

◆ getcontactnodalforce_alag()

subroutine, public m_fstr_contact_elem_alag::getcontactnodalforce_alag ( type(tcontactstate ctState,
type(tsurfelement tSurf,
real(kind=kreal), dimension(:)  ndCoord,
real(kind=kreal), dimension(:)  ndDu,
real(kind=kreal), intent(in)  mu,
real(kind=kreal), intent(in)  mut,
real(kind=kreal)  fcoeff,
real(kind=kreal)  lagrange,
real(kind=kreal), dimension(:)  ctNForce,
real(kind=kreal), dimension(:)  ctTForce,
logical  cflag 
)
Parameters
ctstatetype tContactState
tsurfsurface element structure
[in]mutpenalty parameters
fcoefffriction coefficient
lagrangenot used for ALagrange (kept for interface compatibility)
nddunodal coordinates (coord+disp+ddisp); nodal displacement increment (ddisp)
ctnforcecontact normal force vector
cttforcecontact tangential force vector
cflagnot used for ALagrange (kept for interface compatibility)

Definition at line 101 of file fstr_contact_elem_alag.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getcontactstiffness_alag()

subroutine, public m_fstr_contact_elem_alag::getcontactstiffness_alag ( type(tcontactstate), intent(inout)  cstate,
type(tsurfelement), intent(in)  tSurf,
real(kind=kreal), dimension(:,:), intent(in)  ele,
real(kind=kreal), intent(in)  mu,
real(kind=kreal), intent(in)  mut,
real(kind=kreal), intent(in)  fcoeff,
logical, intent(in)  symm,
real(kind=kreal), dimension(:,:), intent(out)  stiff,
real(kind=kreal), dimension(:), intent(out)  force 
)
Parameters
[in,out]cstatecontact state (inout for projection info)
[in]tsurfsurface element structure
[in]elecoord of surface element
[in]mutpenalty parameters
[in]fcoefffriction coefficient
[in]symmsymmetricalize
[out]stiffcontact stiffness
[out]forcecontact force direction

Definition at line 23 of file fstr_contact_elem_alag.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gettiednodalforce_alag()

subroutine, public m_fstr_contact_elem_alag::gettiednodalforce_alag ( type(tcontactstate ctState,
type(tsurfelement tSurf,
real(kind=kreal), dimension(:)  ndu,
real(kind=kreal), intent(in)  mu,
real(kind=kreal), dimension(:)  ctNForce,
real(kind=kreal), dimension(:)  ctTForce 
)
Parameters
ctstatetype tContactState
tsurfsurface element structure
ndunodal total displacement (disp+ddisp)
[in]mupenalty parameter
ctnforcecontact force vector
cttforcecontact force vector (not used for tied)

Definition at line 294 of file fstr_contact_elem_alag.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gettiedstiffness_alag()

subroutine, public m_fstr_contact_elem_alag::gettiedstiffness_alag ( type(tcontactstate), intent(in)  cstate,
type(tsurfelement), intent(in)  tSurf,
real(kind=kreal), intent(in)  mu,
real(kind=kreal), dimension(:,:), intent(out)  stiff,
real(kind=kreal), dimension(:), intent(out)  force 
)
Parameters
[in]cstatecontact state
[in]tsurfsurface element structure
[in]mupenalty parameter
[out]stiffcontact stiffness
[out]forcecontact force direction

Definition at line 264 of file fstr_contact_elem_alag.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updatecontactmultiplier_alag()

subroutine, public m_fstr_contact_elem_alag::updatecontactmultiplier_alag ( type(tcontactstate), intent(inout)  ctState,
integer(kind=kint), dimension(:), intent(in)  ndLocal,
real(kind=kreal), dimension(:), intent(in)  coord,
real(kind=kreal), dimension(:), intent(in)  disp,
real(kind=kreal), dimension(:), intent(in)  ddisp,
real(kind=kreal), intent(in)  mu,
real(kind=kreal), intent(in)  mut,
real(kind=kreal), intent(in)  fcoeff,
integer(kind=kint), intent(in)  etype,
real(kind=kreal), dimension(2), intent(inout)  lgnt,
logical, intent(inout)  ctchanged,
real(kind=kreal), dimension(:), intent(out)  ctNForce,
real(kind=kreal), dimension(:), intent(out)  ctTForce,
real(kind=kreal), intent(out)  jump_ratio 
)
Parameters
[in,out]ctstatecontact state
[in]ndlocalglobal node numbers (slave + master)
[in]coordmesh coordinate
[in]dispdisp till current step
[in]ddispdisp till current substep
[in]mutpenalty parameters
[in]fcoefffriction coefficient
[in]etypeelement type
[in,out]lgntconvergence metrics
[in,out]ctchangedcontact state changed flag
[out]ctnforcecontact normal force vector
[out]cttforcecontact tangential force vector
[out]jump_ratiostick trial / slip limit force ratio

Definition at line 174 of file fstr_contact_elem_alag.f90.

Here is the call graph for this function:
Here is the caller graph for this function: