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

This module provides functions to calculation nodal stress. More...

Functions/Subroutines

subroutine fstr_get_shell_gauss_output (hecMESH, fstrSOLID, icel, k, strain, stress)
 Read stored shell tensors or evaluate one elastic thickness point without changing history. More...
 
subroutine fstr_nodalstress3d (hecMESH, fstrSOLID)
 Calculate NODAL STRESS of solid elements. More...
 
integer(kind=kint) function search_idx_senes (irow, asect, nid, sid)
 
subroutine fstr_nodalstress3d_c3d4_sesns (hecMESH, fstrSOLID, nnumber, Nodal_STRAIN, Nodal_STRESS, Elemental_STRAIN, Elemental_STRESS)
 
subroutine fstr_stress_add_shelllyr (nn, fstrSOLID, icel, nodLOCAL, nlyr, strain, stress, flag)
 
subroutine fstr_add_shell_mid (element, nlyr, nn, strain, stress, mid_strain, mid_stress)
 Adds one layer surface's nodal values of an element, with half the layer's weight, to the element's own mid-surface values (each surface of each layer is added once). More...
 
subroutine fstr_getavg_shell (fstrSOLID, icel, estrain, estress)
 The element's mid-surface values. The nodal ones come from fstr_add_shell_mid: the layers' nodal arrays hold sums over the elements met so far, not this element's values. More...
 
subroutine set_shell_layer_surface_results (element, fstrSOLID, icel)
 
subroutine get_shell_layer_surface_average (element, ilayer, flag, estrain, estress, eplstrain)
 
subroutine get_shell_layer_gauss_average (element, estrain, estress)
 
subroutine nodalstress_shellj2 (element, nn, fstrSOLID, icel, nodLOCAL, strain, stress, estrain, estress)
 Recover nodal results from the converged shell material histories. More...
 
real(kind=kreal) function get_mises (s)
 
subroutine fstr_nodalstress2d (hecMESH, fstrSOLID)
 Calculate NODAL STRESS of plane elements. More...
 
subroutine fstr_nodalstress6d (hecMESH, fstrSOLID)
 Calculate NODAL STRESS of shell elements. More...
 
subroutine make_principal (fstrSOLID, hecMESH, RES)
 

Detailed Description

This module provides functions to calculation nodal stress.

Function/Subroutine Documentation

◆ fstr_add_shell_mid()

subroutine m_fstr_nodalstress::fstr_add_shell_mid ( type(telement), intent(in)  element,
integer(kind=kint), intent(in)  nlyr,
integer(kind=kint), intent(in)  nn,
real(kind=kreal), dimension(:,:), intent(in)  strain,
real(kind=kreal), dimension(:,:), intent(in)  stress,
real(kind=kreal), dimension(:,:), intent(inout)  mid_strain,
real(kind=kreal), dimension(:,:), intent(inout)  mid_stress 
)

Adds one layer surface's nodal values of an element, with half the layer's weight, to the element's own mid-surface values (each surface of each layer is added once).

Definition at line 637 of file fstr_NodalStress.f90.

Here is the caller graph for this function:

◆ fstr_get_shell_gauss_output()

subroutine m_fstr_nodalstress::fstr_get_shell_gauss_output ( type(hecmwst_local_mesh), intent(in)  hecMESH,
type(fstr_solid), intent(inout)  fstrSOLID,
integer(kind=kint), intent(in)  icel,
integer(kind=kint), intent(in)  k,
real(kind=kreal), dimension(6), intent(out)  strain,
real(kind=kreal), dimension(6), intent(out)  stress 
)

Read stored shell tensors or evaluate one elastic thickness point without changing history.

Definition at line 15 of file fstr_NodalStress.f90.

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

◆ fstr_getavg_shell()

subroutine m_fstr_nodalstress::fstr_getavg_shell ( type (fstr_solid)  fstrSOLID,
integer(kind=kint)  icel,
real(kind=kreal), dimension(6)  estrain,
real(kind=kreal), dimension(6)  estress 
)

The element's mid-surface values. The nodal ones come from fstr_add_shell_mid: the layers' nodal arrays hold sums over the elements met so far, not this element's values.

Definition at line 652 of file fstr_NodalStress.f90.

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

◆ fstr_nodalstress2d()

subroutine m_fstr_nodalstress::fstr_nodalstress2d ( type (hecmwst_local_mesh)  hecMESH,
type (fstr_solid)  fstrSOLID 
)

Calculate NODAL STRESS of plane elements.

Definition at line 1023 of file fstr_NodalStress.f90.

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

◆ fstr_nodalstress3d()

subroutine m_fstr_nodalstress::fstr_nodalstress3d ( type(hecmwst_local_mesh)  hecMESH,
type(fstr_solid)  fstrSOLID 
)

Calculate NODAL STRESS of solid elements.

Definition at line 60 of file fstr_NodalStress.f90.

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

◆ fstr_nodalstress3d_c3d4_sesns()

subroutine m_fstr_nodalstress::fstr_nodalstress3d_c3d4_sesns ( type(hecmwst_local_mesh), intent(in)  hecMESH,
type(fstr_solid), intent(inout)  fstrSOLID,
integer(kind=kint), dimension(:), intent(inout), allocatable  nnumber,
real(kind=kreal), dimension(:), intent(inout), pointer  Nodal_STRAIN,
real(kind=kreal), dimension(:), intent(inout), pointer  Nodal_STRESS,
real(kind=kreal), dimension(:), intent(inout), pointer  Elemental_STRAIN,
real(kind=kreal), dimension(:), intent(inout), pointer  Elemental_STRESS 
)

Definition at line 420 of file fstr_NodalStress.f90.

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

◆ fstr_nodalstress6d()

subroutine m_fstr_nodalstress::fstr_nodalstress6d ( type (hecmwst_local_mesh)  hecMESH,
type (fstr_solid)  fstrSOLID 
)

Calculate NODAL STRESS of shell elements.

Definition at line 1266 of file fstr_NodalStress.f90.

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

◆ fstr_stress_add_shelllyr()

subroutine m_fstr_nodalstress::fstr_stress_add_shelllyr ( integer(kind=kint)  nn,
type(fstr_solid)  fstrSOLID,
integer(kind=kint)  icel,
integer(kind=kint), dimension(20)  nodLOCAL,
integer(kind=kint)  nlyr,
real(kind=kreal), dimension(nn, 6)  strain,
real(kind=kreal), dimension(nn, 6)  stress,
integer(kind=kint)  flag 
)

Definition at line 608 of file fstr_NodalStress.f90.

Here is the caller graph for this function:

◆ get_mises()

real(kind=kreal) function m_fstr_nodalstress::get_mises ( real(kind=kreal), dimension(1:6)  s)

Definition at line 1004 of file fstr_NodalStress.f90.

Here is the caller graph for this function:

◆ get_shell_layer_gauss_average()

subroutine m_fstr_nodalstress::get_shell_layer_gauss_average ( type(telement), intent(in)  element,
real(kind=kreal), dimension(6), intent(inout)  estrain,
real(kind=kreal), dimension(6), intent(inout)  estress 
)

Definition at line 755 of file fstr_NodalStress.f90.

Here is the caller graph for this function:

◆ get_shell_layer_surface_average()

subroutine m_fstr_nodalstress::get_shell_layer_surface_average ( type(telement), intent(in)  element,
integer(kind=kint), intent(in)  ilayer,
integer(kind=kint), intent(in)  flag,
real(kind=kreal), dimension(6), intent(out)  estrain,
real(kind=kreal), dimension(6), intent(out)  estress,
real(kind=kreal), intent(out)  eplstrain 
)

Definition at line 700 of file fstr_NodalStress.f90.

Here is the caller graph for this function:

◆ make_principal()

subroutine m_fstr_nodalstress::make_principal ( type(fstr_solid)  fstrSOLID,
type(hecmwst_local_mesh)  hecMESH,
type(fstr_solid_physic_val)  RES 
)

Definition at line 1468 of file fstr_NodalStress.f90.

Here is the caller graph for this function:

◆ nodalstress_shellj2()

subroutine m_fstr_nodalstress::nodalstress_shellj2 ( type(telement), intent(in)  element,
integer(kind=kint), intent(in)  nn,
type(fstr_solid), intent(inout)  fstrSOLID,
integer(kind=kint), intent(in)  icel,
integer(kind=kint), dimension(:), intent(in)  nodLOCAL,
real(kind=kreal), dimension(:,:), intent(out)  strain,
real(kind=kreal), dimension(:,:), intent(out)  stress,
real(kind=kreal), dimension(6), intent(out)  estrain,
real(kind=kreal), dimension(6), intent(out)  estress 
)

Recover nodal results from the converged shell material histories.

Definition at line 798 of file fstr_NodalStress.f90.

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

◆ search_idx_senes()

integer(kind=kint) function m_fstr_nodalstress::search_idx_senes ( integer(kind=kint), dimension(:), intent(in), allocatable  irow,
integer(kind=kint), dimension(:), intent(in), allocatable  asect,
integer(kind=kint), intent(in)  nid,
integer(kind=kint), intent(in)  sid 
)

Definition at line 402 of file fstr_NodalStress.f90.

Here is the caller graph for this function:

◆ set_shell_layer_surface_results()

subroutine m_fstr_nodalstress::set_shell_layer_surface_results ( type(telement), intent(in)  element,
type(fstr_solid), intent(inout)  fstrSOLID,
integer(kind=kint), intent(in)  icel 
)

Definition at line 677 of file fstr_NodalStress.f90.

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