FrontISTR  6.0.0
Large-scale structural analysis program with finit element method
m_static_lib_shell Module Reference

This module ... More...

Functions/Subroutines

subroutine shellmitc_preparenodalkinematics (etype, nn, thick, kinematics, finite_rotation, use_director_tangent, need_second_tangent, ecoord, nodal_state, ndtriad, ndreftriad, ndcurtriad, evaluation_coords, v1, v2, v3, director, reference_director, director_tangent, director_second_tangent)
 Prepare the evaluation coordinates and nodal directors shared by STF/UPDATE. More...
 
subroutine shellmitc_covariantbasis (nn, coords, director, zeta, shapefunc, shapederiv, covariant_basis)
 Evaluate shell covariant basis vectors at one point. More...
 
subroutine shellmitc_setupreferencedirectors (etype, nn, thick, elem, v1, v2, v3, director)
 Construct the reference nodal triads and half-thickness directors. More...
 
subroutine shellmitc_evaluatetyingpointvariation (etype, nn, ndof, tying_set, tying_point, zeta_tying, elem, shell_disp, director, director_tangent, use_green_lagrange, use_director_tangent, point_B, point_basis_variation, director_second_tangent, point_director_second_variation)
 Evaluate one MITC tying point. First and second variations are returned separately so UPDATE can retain only the B matrix while STF also keeps geometric-stiffness data. More...
 
subroutine shellmitc_builddrillingsecondvariation (nn, zeta, shapefunc, shapederiv, director_second_tangent, reciprocal_basis, local_basis, use_director_tangent, drilling_second_variation)
 Build the director second variation used by the drilling term. More...
 
subroutine shellmitc_evaluateassumedstrain (etype, nn, naturalcoord, zeta, elem, edisp, director, director_increment, use_green_lagrange, tying_strain, dstrain, strain_tensor, covariant_basis, reciprocal_basis, material_local_basis, material_reciprocal_basis, reference_basis, current_basis, reference_jacobian, current_jacobian)
 Evaluate the MITC assumed strain and stress-evaluation bases at one point. More...
 
subroutine shellmitc_getmaterialtangent (etype, nn, gauss, n_layer, material_local_basis, material_reciprocal_basis, tangent, alpha, cdsys)
 
subroutine shellmitc_updatestress (etype, nn, flag, update_state, gauss, n_layer, dstrain, material_local_basis, material_reciprocal_basis, stress, alpha, cdsys)
 Calculate shell stress and optionally update the integration-point state. The constitutive matrix is local to this routine, as in Update_Stress3D. More...
 
subroutine shellmitc_transformoutput (use_gl_strain, S, E, covariant_basis, reciprocal_basis, reference_basis, current_basis, det_ref, det_cur, strain_out, stress_out)
 Transform shell-local stress and strain to the requested output measure. More...
 
pure subroutine shellstressvectortotensor (stress, tensor)
 
subroutine shellmitc_integratestiffnesslayer (etype, nn, ndof, ilayer, kinematics, finite_rotation, use_director_tangent, use_green_lagrange, add_geometric_stiffness, ecoord, elem, shell_disp, gausses, element, v1, v2, v3, director, reference_director, director_tangent, director_second_tangent, nodal_kinematic_dofs, nddrill, stiff_work, cdsys)
 Integrate one physical shell layer for the material and geometric stiffness. Tying data are local to this call, so workspace size is independent of nlayer. More...
 
subroutine shellmitc_integrateinternalforcelayer (etype, nn, ndof, ilayer, kinematics, finite_rotation, use_director_tangent, use_green_lagrange, update_state, ecoord, evaluation_coords, total_nodal_state, strain_nodal_state, gausses, element, v1, v2, v3, director, reference_director, director_tangent, stress_elem, stress_director, stress_director_increment, nodal_kinematic_dofs, nddrill, qf_work, cdsys)
 Integrate one physical shell layer for stress update and internal force. Only one zeta's tying B matrices are retained at a time. More...
 
subroutine shellmitc_setuporientation (cdsys_ID, coords, coordsys)
 Build the material coordinate system of a shell section (ORIENTATION), as the solid elements do. coordsys is left unallocated, i.e. passed on as an absent optional argument, unless an orientation is given. More...
 
subroutine, public stf_shell_mitc (etype, nn, ndof, ecoord, gausses, stiff, thick, mixflag, nddisp, element, ndtriad, ndreftriad, ndcurtriad, nddrill, cdsys_ID, coords)
 Calculate the tangent stiffness matrix of a MITC shell element. More...
 
subroutine, public stf_shell_mitc33 (etype, nn, ndof, ecoord, u, u_prev, gausses, stiff, thick, mixflag, element, ndtriad, ndreftriad, ndcurtriad, nddrill, cdsys_ID, coords)
 
subroutine, public elementstress_shell_mitc (etype, nn, ndof, ecoord, gausses, edisp, strain, stress, thick, zeta, n_layer, surface_gauss_points, local_strain, local_stress, local_stress_override, ndtriad, ndreftriad, ndbase_disp, surface_gauss_index, cdsys_ID, coords)
 Evaluate MITC shell stress and strain for result output. More...
 
subroutine, public dl_shell (etype, nn, ndof, xx, yy, zz, rho, thick, ltype, params, vect, nsize, gausses)
 Calculate the distributed load vector of a MITC shell element. More...
 
subroutine, public dl_shell_33 (ic_type, nn, ndof, xx, yy, zz, rho, thick, ltype, params, vect, nsize, gausses)
 Adapt the natural shell load ordering to shell-solid mixed elements. More...
 
subroutine, public update_shell_mitc (etype, nn, ndof, ecoord, u, du, gausses, qf, thick, mixflag, nddisp, element, ndtriad, ndreftriad, ndcurtriad, nddrill, cdsys_ID, coords)
 Update shell stress and assemble the equivalent nodal force. More...
 
subroutine, public update_shell_mitc33 (etype, nn, ndof, ecoord, u, du, gausses, qf, thick, mixflag, nddisp, element, ndtriad, ndreftriad, ndcurtriad, nddrill, cdsys_ID, coords)
 Shell adapter for the split translational/rotational node layout. More...
 
subroutine, public mass_shell (etype, nn, elem, rho, thick, gausses, mass, lumped)
 Calculate the consistent and lumped mass matrices of a MITC shell. More...
 

Detailed Description

This module ...

Function/Subroutine Documentation

◆ dl_shell()

subroutine, public m_static_lib_shell::dl_shell ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
real(kind=kreal), dimension(*), intent(in)  xx,
real(kind=kreal), dimension(*), intent(in)  yy,
real(kind=kreal), dimension(*), intent(in)  zz,
real(kind=kreal), intent(in)  rho,
real(kind=kreal), intent(in)  thick,
integer, intent(in)  ltype,
real(kind=kreal), dimension(*), intent(in)  params,
real(kind=kreal), dimension(*), intent(out)  vect,
integer(kind=kint), intent(out)  nsize,
type(tgaussstatus), dimension(:), intent(in)  gausses 
)

Calculate the distributed load vector of a MITC shell element.

Definition at line 2454 of file static_LIB_shell.f90.

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

◆ dl_shell_33()

subroutine, public m_static_lib_shell::dl_shell_33 ( integer(kind=kint), intent(in)  ic_type,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
real(kind=kreal), dimension(*), intent(in)  xx,
real(kind=kreal), dimension(*), intent(in)  yy,
real(kind=kreal), dimension(*), intent(in)  zz,
real(kind=kreal), intent(in)  rho,
real(kind=kreal), intent(in)  thick,
integer, intent(in)  ltype,
real(kind=kreal), dimension(*), intent(in)  params,
real(kind=kreal), dimension(*), intent(out)  vect,
integer(kind=kint), intent(out)  nsize,
type(tgaussstatus), dimension(:), intent(in)  gausses 
)

Adapt the natural shell load ordering to shell-solid mixed elements.

Definition at line 2540 of file static_LIB_shell.f90.

Here is the call graph for this function:

◆ elementstress_shell_mitc()

subroutine, public m_static_lib_shell::elementstress_shell_mitc ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
type(tgaussstatus), dimension(:), intent(in)  gausses,
real(kind=kreal), dimension(6, nn), intent(in)  edisp,
real(kind=kreal), dimension(:, :), intent(out)  strain,
real(kind=kreal), dimension(:, :), intent(out)  stress,
real(kind=kreal), intent(in)  thick,
real(kind=kreal), intent(in)  zeta,
integer, intent(in)  n_layer,
logical, intent(in), optional  surface_gauss_points,
real(kind=kreal), dimension(:, :), intent(out), optional  local_strain,
real(kind=kreal), dimension(:, :), intent(out), optional  local_stress,
real(kind=kreal), dimension(:, :), intent(in), optional  local_stress_override,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndtriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndreftriad,
real(kind=kreal), dimension(6, nn), intent(in), optional  ndbase_disp,
integer(kind=kint), intent(in), optional  surface_gauss_index,
integer(kind=kint), intent(in), optional  cdsys_ID,
real(kind=kreal), dimension(3, 3), intent(inout), optional  coords 
)

Evaluate MITC shell stress and strain for result output.

Parameters
[in]surface_gauss_indexEvaluate only this surface Gauss point, returning its tensors in row 1.
[in]ndtriadNodal frames (triads), packed as e1(1:3), e2(4:6), e3=director axis(7:9). The director itself (0.5*thick*e3) is computed inside ShellMITC_SetupNodalDirectors.
[in]ndreftriadNodal frames (triads), packed as e1(1:3), e2(4:6), e3=director axis(7:9). The director itself (0.5*thick*e3) is computed inside ShellMITC_SetupNodalDirectors.
[in,out]coordsvariables to define material coordinate system

Definition at line 2337 of file static_LIB_shell.f90.

Here is the call graph for this function:

◆ mass_shell()

subroutine, public m_static_lib_shell::mass_shell ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
real(kind=kreal), dimension(3, nn), intent(in)  elem,
real(kind=kreal), intent(in)  rho,
real(kind=kreal), intent(in)  thick,
type(tgaussstatus), dimension(:), intent(in)  gausses,
real(kind=kreal), dimension(:, :), intent(out)  mass,
real(kind=kreal), dimension(:), intent(out)  lumped 
)

Calculate the consistent and lumped mass matrices of a MITC shell.

Definition at line 2726 of file static_LIB_shell.f90.

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

◆ shellmitc_builddrillingsecondvariation()

subroutine m_static_lib_shell::shellmitc_builddrillingsecondvariation ( integer(kind=kint), intent(in)  nn,
real(kind=kreal), intent(in)  zeta,
real(kind=kreal), dimension(nn), intent(in)  shapefunc,
real(kind=kreal), dimension(nn, 2), intent(in)  shapederiv,
real(kind=kreal), dimension(3, 3, 3, nn), intent(in)  director_second_tangent,
real(kind=kreal), dimension(3, 3), intent(in)  reciprocal_basis,
real(kind=kreal), dimension(3, 3), intent(in)  local_basis,
logical, intent(in)  use_director_tangent,
real(kind=kreal), dimension(3, 3, nn), intent(out)  drilling_second_variation 
)

Build the director second variation used by the drilling term.

Definition at line 1022 of file static_LIB_shell.f90.

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

◆ shellmitc_covariantbasis()

subroutine m_static_lib_shell::shellmitc_covariantbasis ( integer(kind=kint), intent(in)  nn,
real(kind=kreal), dimension(3, nn), intent(in)  coords,
real(kind=kreal), dimension(3, nn), intent(in)  director,
real(kind=kreal), intent(in)  zeta,
real(kind=kreal), dimension(nn), intent(in)  shapefunc,
real(kind=kreal), dimension(nn, 2), intent(in)  shapederiv,
real(kind=kreal), dimension(3, 3), intent(out)  covariant_basis 
)

Evaluate shell covariant basis vectors at one point.

Definition at line 180 of file static_LIB_shell.f90.

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

◆ shellmitc_evaluateassumedstrain()

subroutine m_static_lib_shell::shellmitc_evaluateassumedstrain ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
real(kind=kreal), dimension(2), intent(in)  naturalcoord,
real(kind=kreal), intent(in)  zeta,
real(kind=kreal), dimension(3, nn), intent(in)  elem,
real(kind=kreal), dimension(6, nn), intent(in)  edisp,
real(kind=kreal), dimension(3, nn), intent(in)  director,
real(kind=kreal), dimension(3, nn), intent(in)  director_increment,
logical, intent(in)  use_green_lagrange,
real(kind=kreal), dimension(5, 6, 3), intent(in)  tying_strain,
real(kind=kreal), dimension(6), intent(out)  dstrain,
real(kind=kreal), dimension(3, 3), intent(out)  strain_tensor,
real(kind=kreal), dimension(3, 3), intent(out)  covariant_basis,
real(kind=kreal), dimension(3, 3), intent(out)  reciprocal_basis,
real(kind=kreal), dimension(3, 3), intent(out)  material_local_basis,
real(kind=kreal), dimension(3, 3), intent(out)  material_reciprocal_basis,
real(kind=kreal), dimension(3, 3), intent(out)  reference_basis,
real(kind=kreal), dimension(3, 3), intent(out)  current_basis,
real(kind=kreal), intent(out)  reference_jacobian,
real(kind=kreal), intent(out)  current_jacobian 
)

Evaluate the MITC assumed strain and stress-evaluation bases at one point.

Definition at line 1351 of file static_LIB_shell.f90.

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

◆ shellmitc_evaluatetyingpointvariation()

subroutine m_static_lib_shell::shellmitc_evaluatetyingpointvariation ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
integer(kind=kint), intent(in)  tying_set,
integer(kind=kint), intent(in)  tying_point,
real(kind=kreal), intent(in)  zeta_tying,
real(kind=kreal), dimension(3, nn), intent(in)  elem,
real(kind=kreal), dimension(6, nn), intent(in)  shell_disp,
real(kind=kreal), dimension(3, nn), intent(in)  director,
real(kind=kreal), dimension(3, 3, nn), intent(in)  director_tangent,
logical, intent(in)  use_green_lagrange,
logical, intent(in)  use_director_tangent,
real(kind=kreal), dimension(5, ndof*nn), intent(out)  point_B,
real(kind=kreal), dimension(3, ndof*nn, 3), intent(out)  point_basis_variation,
real(kind=kreal), dimension(3, 3, 3, nn), intent(in), optional  director_second_tangent,
real(kind=kreal), dimension(5, 3, 3, nn), intent(out), optional  point_director_second_variation 
)

Evaluate one MITC tying point. First and second variations are returned separately so UPDATE can retain only the B matrix while STF also keeps geometric-stiffness data.

Definition at line 545 of file static_LIB_shell.f90.

Here is the call graph for this function:

◆ shellmitc_getmaterialtangent()

subroutine m_static_lib_shell::shellmitc_getmaterialtangent ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
type(tgaussstatus), intent(in)  gauss,
integer, intent(in)  n_layer,
real(kind=kreal), dimension(3,3), intent(in)  material_local_basis,
real(kind=kreal), dimension(3,3), intent(in)  material_reciprocal_basis,
real(kind=kreal), dimension(5,5), intent(out)  tangent,
real(kind=kreal), intent(out)  alpha,
real(kind=kreal), dimension(3, 3), intent(in), optional  cdsys 
)

Definition at line 1534 of file static_LIB_shell.f90.

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

◆ shellmitc_integrateinternalforcelayer()

subroutine m_static_lib_shell::shellmitc_integrateinternalforcelayer ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
integer(kind=kint), intent(in)  ilayer,
integer(kind=kint), intent(in)  kinematics,
logical, intent(in)  finite_rotation,
logical, intent(in)  use_director_tangent,
logical, intent(in)  use_green_lagrange,
logical, intent(in)  update_state,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
real(kind=kreal), dimension(3, nn), intent(in)  evaluation_coords,
real(kind=kreal), dimension(6, nn), intent(in)  total_nodal_state,
real(kind=kreal), dimension(6, nn), intent(in)  strain_nodal_state,
type(tgaussstatus), dimension(:), intent(in)  gausses,
type(telement), intent(inout), optional  element,
real(kind=kreal), dimension(3, nn), intent(in)  v1,
real(kind=kreal), dimension(3, nn), intent(in)  v2,
real(kind=kreal), dimension(3, nn), intent(in)  v3,
real(kind=kreal), dimension(3, nn), intent(in)  director,
real(kind=kreal), dimension(3, nn), intent(in)  reference_director,
real(kind=kreal), dimension(3, 3, nn), intent(in)  director_tangent,
real(kind=kreal), dimension(3, nn), intent(in)  stress_elem,
real(kind=kreal), dimension(3, nn), intent(in)  stress_director,
real(kind=kreal), dimension(3, nn), intent(in)  stress_director_increment,
real(kind=kreal), dimension(ndof*nn), intent(in)  nodal_kinematic_dofs,
real(kind=kreal), dimension(nn), intent(in), optional  nddrill,
real(kind=kreal), dimension(ndof*nn), intent(inout)  qf_work,
real(kind=kreal), dimension(3, 3), intent(in), optional  cdsys 
)

Integrate one physical shell layer for stress update and internal force. Only one zeta's tying B matrices are retained at a time.

Definition at line 2030 of file static_LIB_shell.f90.

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

◆ shellmitc_integratestiffnesslayer()

subroutine m_static_lib_shell::shellmitc_integratestiffnesslayer ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
integer(kind=kint), intent(in)  ilayer,
integer(kind=kint), intent(in)  kinematics,
logical, intent(in)  finite_rotation,
logical, intent(in)  use_director_tangent,
logical, intent(in)  use_green_lagrange,
logical, intent(in)  add_geometric_stiffness,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
real(kind=kreal), dimension(3, nn), intent(in)  elem,
real(kind=kreal), dimension(6, nn), intent(in)  shell_disp,
type(tgaussstatus), dimension(:), intent(in)  gausses,
type(telement), intent(in), optional  element,
real(kind=kreal), dimension(3, nn), intent(in)  v1,
real(kind=kreal), dimension(3, nn), intent(in)  v2,
real(kind=kreal), dimension(3, nn), intent(in)  v3,
real(kind=kreal), dimension(3, nn), intent(in)  director,
real(kind=kreal), dimension(3, nn), intent(in)  reference_director,
real(kind=kreal), dimension(3, 3, nn), intent(in)  director_tangent,
real(kind=kreal), dimension(3, 3, 3, nn), intent(in)  director_second_tangent,
real(kind=kreal), dimension(ndof*nn), intent(in)  nodal_kinematic_dofs,
real(kind=kreal), dimension(nn), intent(in), optional  nddrill,
real(kind=kreal), dimension(ndof*nn, ndof*nn), intent(inout)  stiff_work,
real(kind=kreal), dimension(3, 3), intent(in), optional  cdsys 
)

Integrate one physical shell layer for the material and geometric stiffness. Tying data are local to this call, so workspace size is independent of nlayer.

Definition at line 1862 of file static_LIB_shell.f90.

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

◆ shellmitc_preparenodalkinematics()

subroutine m_static_lib_shell::shellmitc_preparenodalkinematics ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
real(kind=kreal), intent(in)  thick,
integer(kind=kint), intent(in)  kinematics,
logical, intent(in)  finite_rotation,
logical, intent(in)  use_director_tangent,
logical, intent(in)  need_second_tangent,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
real(kind=kreal), dimension(6, nn), intent(in)  nodal_state,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndtriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndreftriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndcurtriad,
real(kind=kreal), dimension(3, nn), intent(out)  evaluation_coords,
real(kind=kreal), dimension(3, nn), intent(out)  v1,
real(kind=kreal), dimension(3, nn), intent(out)  v2,
real(kind=kreal), dimension(3, nn), intent(out)  v3,
real(kind=kreal), dimension(3, nn), intent(out)  director,
real(kind=kreal), dimension(3, nn), intent(out)  reference_director,
real(kind=kreal), dimension(3, 3, nn), intent(out)  director_tangent,
real(kind=kreal), dimension(3, 3, 3, nn), intent(out)  director_second_tangent 
)

Prepare the evaluation coordinates and nodal directors shared by STF/UPDATE.

Definition at line 155 of file static_LIB_shell.f90.

Here is the caller graph for this function:

◆ shellmitc_setuporientation()

subroutine m_static_lib_shell::shellmitc_setuporientation ( integer(kind=kint), intent(in), optional  cdsys_ID,
real(kind=kreal), dimension(3, 3), intent(inout), optional  coords,
real(kind=kreal), dimension(:, :), intent(out), allocatable  coordsys 
)

Build the material coordinate system of a shell section (ORIENTATION), as the solid elements do. coordsys is left unallocated, i.e. passed on as an absent optional argument, unless an orientation is given.

Definition at line 2203 of file static_LIB_shell.f90.

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

◆ shellmitc_setupreferencedirectors()

subroutine m_static_lib_shell::shellmitc_setupreferencedirectors ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
real(kind=kreal), intent(in)  thick,
real(kind=kreal), dimension(3, nn), intent(in)  elem,
real(kind=kreal), dimension(3, nn), intent(out)  v1,
real(kind=kreal), dimension(3, nn), intent(out)  v2,
real(kind=kreal), dimension(3, nn), intent(out)  v3,
real(kind=kreal), dimension(3, nn), intent(out)  director 
)

Construct the reference nodal triads and half-thickness directors.

Definition at line 404 of file static_LIB_shell.f90.

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

◆ shellmitc_transformoutput()

subroutine m_static_lib_shell::shellmitc_transformoutput ( logical, intent(in)  use_gl_strain,
real(kind=kreal), dimension(3, 3), intent(in)  S,
real(kind=kreal), dimension(3, 3), intent(in)  E,
real(kind=kreal), dimension(3, 3), intent(in)  covariant_basis,
real(kind=kreal), dimension(3, 3), intent(in)  reciprocal_basis,
real(kind=kreal), dimension(3, 3), intent(in)  reference_basis,
real(kind=kreal), dimension(3, 3), intent(in)  current_basis,
real(kind=kreal), intent(in)  det_ref,
real(kind=kreal), intent(in)  det_cur,
real(kind=kreal), dimension(6), intent(out)  strain_out,
real(kind=kreal), dimension(6), intent(out)  stress_out 
)

Transform shell-local stress and strain to the requested output measure.

Definition at line 1665 of file static_LIB_shell.f90.

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

◆ shellmitc_updatestress()

subroutine m_static_lib_shell::shellmitc_updatestress ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  flag,
logical, intent(in)  update_state,
type(tgaussstatus), intent(inout)  gauss,
integer, intent(in)  n_layer,
real(kind=kreal), dimension(6), intent(in)  dstrain,
real(kind=kreal), dimension(3, 3), intent(in)  material_local_basis,
real(kind=kreal), dimension(3, 3), intent(in)  material_reciprocal_basis,
real(kind=kreal), dimension(6), intent(out)  stress,
real(kind=kreal), intent(out)  alpha,
real(kind=kreal), dimension(3, 3), intent(in), optional  cdsys 
)

Calculate shell stress and optionally update the integration-point state. The constitutive matrix is local to this routine, as in Update_Stress3D.

Definition at line 1579 of file static_LIB_shell.f90.

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

◆ shellstressvectortotensor()

pure subroutine m_static_lib_shell::shellstressvectortotensor ( real(kind=kreal), dimension(6), intent(in)  stress,
real(kind=kreal), dimension(3, 3), intent(out)  tensor 
)

Definition at line 1738 of file static_LIB_shell.f90.

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

◆ stf_shell_mitc()

subroutine, public m_static_lib_shell::stf_shell_mitc ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
type(tgaussstatus), dimension(:), intent(in)  gausses,
real(kind=kreal), dimension(:, :), intent(out)  stiff,
real(kind=kreal), intent(in)  thick,
integer(kind=kint), intent(in)  mixflag,
real(kind=kreal), dimension(ndof, nn), intent(in), optional  nddisp,
type(telement), intent(in), optional  element,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndtriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndreftriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndcurtriad,
real(kind=kreal), dimension(nn), intent(in), optional  nddrill,
integer(kind=kint), intent(in), optional  cdsys_ID,
real(kind=kreal), dimension(3, 3), intent(inout), optional  coords 
)

Calculate the tangent stiffness matrix of a MITC shell element.

Parameters
[in]ndtriadNodal frames (triads), packed as e1(1:3), e2(4:6), e3=director axis(7:9). The director itself (0.5*thick*e3) is computed inside this routine.
[in,out]coordsvariables to define material coordinate system

Definition at line 2222 of file static_LIB_shell.f90.

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

◆ stf_shell_mitc33()

subroutine, public m_static_lib_shell::stf_shell_mitc33 ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
real(kind=kreal), dimension(3, nn*2), intent(in)  u,
real(kind=kreal), dimension(3, nn*2), intent(in)  u_prev,
type(tgaussstatus), dimension(:), intent(in)  gausses,
real(kind=kreal), dimension(:, :), intent(out)  stiff,
real(kind=kreal), intent(in)  thick,
integer(kind=kint), intent(in)  mixflag,
type(telement), intent(in)  element,
real(kind=kreal), dimension(9, nn), intent(in)  ndtriad,
real(kind=kreal), dimension(9, nn), intent(in)  ndreftriad,
real(kind=kreal), dimension(9, nn), intent(in)  ndcurtriad,
real(kind=kreal), dimension(nn), intent(in)  nddrill,
integer(kind=kint), intent(in), optional  cdsys_ID,
real(kind=kreal), dimension(3, 3), intent(inout), optional  coords 
)

Definition at line 2289 of file static_LIB_shell.f90.

Here is the call graph for this function:

◆ update_shell_mitc()

subroutine, public m_static_lib_shell::update_shell_mitc ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
real(kind=kreal), dimension(:, :), intent(in)  u,
real(kind=kreal), dimension(:, :), intent(in)  du,
type(tgaussstatus), dimension(:), intent(in)  gausses,
real(kind=kreal), dimension(:), intent(out)  qf,
real(kind=kreal), intent(in)  thick,
integer(kind=kint), intent(in)  mixflag,
real(kind=kreal), dimension(ndof, nn), intent(in), optional  nddisp,
type(telement), intent(inout), optional  element,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndtriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndreftriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndcurtriad,
real(kind=kreal), dimension(nn), intent(in), optional  nddrill,
integer(kind=kint), intent(in), optional  cdsys_ID,
real(kind=kreal), dimension(3, 3), intent(inout), optional  coords 
)

Update shell stress and assemble the equivalent nodal force.

Parameters
[in]ndtriadNodal frames (triads), packed as e1(1:3), e2(4:6), e3=director axis(7:9). The director itself (0.5*thick*e3) is computed inside this routine.
[in]ndreftriadNodal frames (triads), packed as e1(1:3), e2(4:6), e3=director axis(7:9). The director itself (0.5*thick*e3) is computed inside this routine.
[in,out]coordsvariables to define material coordinate system

Definition at line 2565 of file static_LIB_shell.f90.

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

◆ update_shell_mitc33()

subroutine, public m_static_lib_shell::update_shell_mitc33 ( integer(kind=kint), intent(in)  etype,
integer(kind=kint), intent(in)  nn,
integer(kind=kint), intent(in)  ndof,
real(kind=kreal), dimension(3, nn), intent(in)  ecoord,
real(kind=kreal), dimension(3, nn*2), intent(in)  u,
real(kind=kreal), dimension(3, nn*2), intent(in)  du,
type(tgaussstatus), dimension(:), intent(in)  gausses,
real(kind=kreal), dimension(:), intent(out)  qf,
real(kind=kreal), intent(in)  thick,
integer(kind=kint), intent(in)  mixflag,
real(kind=kreal), dimension(3, nn), intent(in), optional  nddisp,
type(telement), intent(inout), optional  element,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndtriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndreftriad,
real(kind=kreal), dimension(9, nn), intent(in), optional  ndcurtriad,
real(kind=kreal), dimension(nn), intent(in), optional  nddrill,
integer(kind=kint), intent(in), optional  cdsys_ID,
real(kind=kreal), dimension(3, 3), intent(inout), optional  coords 
)

Shell adapter for the split translational/rotational node layout.

Definition at line 2657 of file static_LIB_shell.f90.

Here is the call graph for this function: