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

This module manages calculation relates with materials. More...

Functions/Subroutines

integer function getnlgeomflag (gauss)
 Fetch the nlgeom flag of the material. More...
 
subroutine matlmatrix (gauss, sectType, matrix, time, dtime, cdsys, temperature, isEp, hdflag)
 Calculate constituive matrix. More...
 
subroutine stressupdate (gauss, sectType, strain, stress, cdsys, time, dtime, temp, tempn, hdflag)
 Update strain and stress for elastic and hyperelastic materials. More...
 
subroutine mat_c2d (cijkl, dij, itype)
 Transfer rank 4 constituive matrix to rank 2 form. More...
 
subroutine matlmatrix_shell (gauss, sectType, D, e1_hat, e2_hat, e3_hat, cg1, cg2, cg3, alpha, n_layer)
 
subroutine mat_c2d_shell (c, D, itype)
 
subroutine getconnectorproperty (gauss, ctype, dofid, rparams, iparams, stretch)
 
subroutine getbulkmodulusinv (matl, temperature, alpha_inv)
 Calculate material matrix for u-p mixed formulation Returns deviatoric tangent D, volumetric coupling vector d2, inverse of penalty parameter alpha_inv, and volumetric constraint g Inverse of the bulk modulus (1/K) for the u-p mixed formulation. Evaluated from the isotropic elastic constants (E, nu). For materials whose volumetric response is not characterised by (E, nu) this is an approximation; full multi-material support is left as future work. More...
 
subroutine matlmatrix_up (gauss, sectType, D, lambda, d2, alpha_inv, g, time, dtime, cdsys, temperature)
 Constitutive matrix for the u-p mixed formulation. Returns the deviatoric tangent D (K=0), the volumetric coupling vector d2, the inverse bulk modulus alpha_inv and the volumetric strain g. More...
 
subroutine stressupdate_up (gauss, sectType, strain, stress, lambda, g, cdsys)
 Update stress for the u-p mixed formulation. Deviatoric stress from the material law (K=0) plus the pressure lambda. More...
 

Detailed Description

This module manages calculation relates with materials.

Function/Subroutine Documentation

◆ getbulkmodulusinv()

subroutine m_matmatrix::getbulkmodulusinv ( type( tmaterial ), intent(in)  matl,
real(kind=kreal), intent(in)  temperature,
real(kind=kreal), intent(out)  alpha_inv 
)

Calculate material matrix for u-p mixed formulation Returns deviatoric tangent D, volumetric coupling vector d2, inverse of penalty parameter alpha_inv, and volumetric constraint g Inverse of the bulk modulus (1/K) for the u-p mixed formulation. Evaluated from the isotropic elastic constants (E, nu). For materials whose volumetric response is not characterised by (E, nu) this is an approximation; full multi-material support is left as future work.

Definition at line 386 of file calMatMatrix.f90.

Here is the caller graph for this function:

◆ getconnectorproperty()

subroutine m_matmatrix::getconnectorproperty ( type( tgaussstatus ), intent(in)  gauss,
integer(kind=kint), intent(in)  ctype,
integer(kind=kint), dimension ( used only in ***_d type connector ), intent(in)  dofid,
real(kind=kreal), dimension(:), intent(out)  rparams,
integer(kind=kint), dimension(:), intent(out)  iparams,
real(kind=kreal), intent(in), optional  stretch 
)

Definition at line 338 of file calMatMatrix.f90.

Here is the caller graph for this function:

◆ getnlgeomflag()

integer function m_matmatrix::getnlgeomflag ( type( tgaussstatus ), intent(in)  gauss)

Fetch the nlgeom flag of the material.

Definition at line 23 of file calMatMatrix.f90.

◆ mat_c2d()

subroutine m_matmatrix::mat_c2d ( real(kind=kreal), dimension(3,3,3,3), intent(in)  cijkl,
real(kind=kreal), dimension(6,6), intent(out)  dij,
integer, intent(in)  itype 
)

Transfer rank 4 constituive matrix to rank 2 form.

Definition at line 137 of file calMatMatrix.f90.

Here is the caller graph for this function:

◆ mat_c2d_shell()

subroutine m_matmatrix::mat_c2d_shell ( real(kind = kreal), dimension(:, :, :, :), intent(in)  c,
real(kind = kreal), dimension(:, :), intent(out)  D,
integer, intent(in)  itype 
)

Definition at line 263 of file calMatMatrix.f90.

Here is the caller graph for this function:

◆ matlmatrix()

subroutine m_matmatrix::matlmatrix ( type( tgaussstatus ), intent(in)  gauss,
integer, intent(in)  sectType,
real(kind=kreal), dimension(:,:), intent(out)  matrix,
real(kind=kreal), intent(in)  time,
real(kind=kreal), intent(in)  dtime,
real(kind=kreal), dimension(3,3), intent(in)  cdsys,
real(kind=kreal), intent(in)  temperature,
integer(kind=kint), intent(in), optional  isEp,
integer(kind=kint), intent(in), optional  hdflag 
)

Calculate constituive matrix.

Definition at line 29 of file calMatMatrix.f90.

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

◆ matlmatrix_shell()

subroutine m_matmatrix::matlmatrix_shell ( type(tgaussstatus), intent(in)  gauss,
integer, intent(in)  sectType,
real(kind = kreal), dimension(:, :), intent(out)  D,
real(kind = kreal), dimension(3), intent(in)  e1_hat,
real(kind = kreal), dimension(3), intent(in)  e2_hat,
real(kind = kreal), dimension(3), intent(in)  e3_hat,
real(kind = kreal), dimension(3), intent(in)  cg1,
real(kind = kreal), dimension(3), intent(in)  cg2,
real(kind = kreal), dimension(3), intent(in)  cg3,
real(kind = kreal), intent(out)  alpha,
integer, intent(in)  n_layer 
)

Definition at line 216 of file calMatMatrix.f90.

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

◆ matlmatrix_up()

subroutine m_matmatrix::matlmatrix_up ( type( tgaussstatus ), intent(in)  gauss,
integer, intent(in)  sectType,
real(kind=kreal), dimension(:,:), intent(out)  D,
real(kind=kreal), intent(in)  lambda,
real(kind=kreal), dimension(6), intent(out)  d2,
real(kind=kreal), intent(out)  alpha_inv,
real(kind=kreal), intent(out)  g,
real(kind=kreal), intent(in)  time,
real(kind=kreal), intent(in)  dtime,
real(kind=kreal), dimension(3,3), intent(in)  cdsys,
real(kind=kreal), intent(in), optional  temperature 
)

Constitutive matrix for the u-p mixed formulation. Returns the deviatoric tangent D (K=0), the volumetric coupling vector d2, the inverse bulk modulus alpha_inv and the volumetric strain g.

Definition at line 410 of file calMatMatrix.f90.

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

◆ stressupdate()

subroutine m_matmatrix::stressupdate ( type( tgaussstatus ), intent(inout)  gauss,
integer, intent(in)  sectType,
real(kind=kreal), dimension(6), intent(in)  strain,
real(kind=kreal), dimension(6), intent(out)  stress,
real(kind=kreal), dimension(3,3), intent(in)  cdsys,
real(kind=kreal), intent(in), optional  time,
real(kind=kreal), intent(in), optional  dtime,
real(kind=kreal), intent(in)  temp,
real(kind=kreal), intent(in)  tempn,
integer(kind=kint), intent(in)  hdflag 
)

Update strain and stress for elastic and hyperelastic materials.

Definition at line 102 of file calMatMatrix.f90.

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

◆ stressupdate_up()

subroutine m_matmatrix::stressupdate_up ( type( tgaussstatus ), intent(inout)  gauss,
integer, intent(in)  sectType,
real(kind=kreal), dimension(6), intent(in)  strain,
real(kind=kreal), dimension(6), intent(out)  stress,
real(kind=kreal), intent(in)  lambda,
real(kind=kreal), intent(out)  g,
real(kind=kreal), dimension(3,3), intent(in)  cdsys 
)

Update stress for the u-p mixed formulation. Deviatoric stress from the material law (K=0) plus the pressure lambda.

Definition at line 449 of file calMatMatrix.f90.

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