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, smoothing_type, edisp, iter)
 
subroutine, public getcontactnodalforce_alag (ctState, tSurf, ndCoord, ndDu, mu, mut, fcoeff, lagrange, ctNForce, ctTForce, cflag, smoothing_type)
 
subroutine, public updatecontactmultiplier_alag (ctState, ndLocal, coord, disp, ddisp, mu, mut, fcoeff, tSurf, lgnt, ctchanged, ctNForce, ctTForce, jump_ratio, smoothing_type)
 
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,
integer(kind=kint), intent(in), optional  smoothing_type 
)
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)
[in]smoothing_typekcsNONE or kcsNAGATA

Definition at line 114 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,
integer(kind=kint), intent(in), optional  smoothing_type,
real(kind=kreal), dimension(:), intent(in), optional  edisp,
integer(kind=kint), intent(in)  iter 
)
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
[in]smoothing_typekcsNONE or kcsNAGATA
[in]edispdisplacement increment for friction evaluation
[in]iterNR iteration number (for tangent switching)

Definition at line 24 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 300 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 270 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,
type(tsurfelement), intent(in)  tSurf,
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,
integer(kind=kint), intent(in), optional  smoothing_type 
)
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]tsurfsurface element structure (with vertex_normals for Nagata)
[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
[in]smoothing_typekcsNONE or kcsNAGATA

Definition at line 188 of file fstr_contact_elem_alag.f90.

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