![]() |
FrontISTR
6.0.0
Large-scale structural analysis program with finit element method
|
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... | |
This module ...
| 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.
| 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.
| 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.
| [in] | surface_gauss_index | Evaluate only this surface Gauss point, returning its tensors in row 1. |
| [in] | ndtriad | Nodal 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] | ndreftriad | Nodal 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] | coords | variables to define material coordinate system |
Definition at line 2337 of file static_LIB_shell.f90.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| [in] | ndtriad | Nodal 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] | coords | variables to define material coordinate system |
Definition at line 2222 of file static_LIB_shell.f90.
| 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 | ||
| ) |
| 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.
| [in] | ndtriad | Nodal 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] | ndreftriad | Nodal 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] | coords | variables to define material coordinate system |
Definition at line 2565 of file static_LIB_shell.f90.
| 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.