FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
element.f90 File Reference

Go to the source code of this file.

Modules

module  elementinfo
 This module encapsulate the basic functions of all elements provide by this software.
 

Functions/Subroutines

integer(kind=kind(2)) function elementinfo::getspacedimension (etype)
 Obtain the space dimension of the element. More...
 
integer(kind=kind(2)) function elementinfo::getnumberofnodes (etype)
 Obtain number of nodes of the element. More...
 
integer(kind=kind(2)) function elementinfo::getnumberofsubface (etype)
 Obtain number of sub-surface. More...
 
subroutine elementinfo::getsubface (intype, innumber, outtype, nodes)
 Find the definition of surface of the element. More...
 
integer function elementinfo::numofquadpoints (fetype)
 Obtains the number of quadrature points of the element. More...
 
subroutine elementinfo::getquadpoint (fetype, np, pos)
 Fetch the coordinate of gauss point. More...
 
real(kind=kreal) function elementinfo::getweight (fetype, np)
 Fetch the weight value in given gauss point. More...
 
subroutine elementinfo::getshapederiv (fetype, localcoord, shapederiv)
 Calculate derivatives of shape function in natural coordinate system. More...
 
subroutine elementinfo::getshape2ndderiv (fetype, localcoord, shapederiv)
 Calculate the 2nd derivative of shape function in natural coordinate system. More...
 
subroutine elementinfo::getshapefunc (fetype, localcoord, func)
 Calculate the shape function in natural coordinate system. More...
 
subroutine elementinfo::getnodalnaturalcoord (fetype, nncoord)
 
subroutine elementinfo::getglobalderiv (fetype, nn, localcoord, elecoord, det, gderiv)
 Calculate shape derivative in global coordinate system. More...
 
real(kind=kreal) function elementinfo::getdeterminant (fetype, nn, localcoord, elecoord)
 Calculate shape derivative in global coordinate system. More...
 
subroutine elementinfo::getjacobian (fetype, nn, localcoord, elecoord, det, jacobian, inverse)
 calculate Jacobian matrix, its determinant and inverse More...
 
real(kind=kreal) function, dimension(3) elementinfo::surfacenormal (fetype, nn, localcoord, elecoord)
 Calculate normal of 3d-surface. More...
 
real(kind=kreal) function, dimension(2) elementinfo::edgenormal (fetype, nn, localcoord, elecoord)
 Calculate normal of 2d-edge. More...
 
subroutine elementinfo::tangentbase (fetype, nn, localcoord, elecoord, tangent)
 Calculate base vector of tangent space of 3d surface. More...
 
subroutine elementinfo::curvature (fetype, nn, localcoord, elecoord, l2ndderiv, normal, curv)
 Calculate curvature tensor at a point along 3d surface. More...
 
subroutine elementinfo::getelementcenter (fetype, localcoord)
 Return natural coordinate of the center of surface element. More...
 
integer function elementinfo::isinsideelement (fetype, localcoord, clearance)
 if a point is inside a surface element -1: No; 0: Yes; >0: Node's (vertex) number More...
 
integer function elementinfo::isinside3delement (fetype, localcoord, clearance)
 if a point is inside a surface element -1: No; 0: Yes; >0: Node's (vertex) number More...
 
subroutine elementinfo::getvertexcoord (fetype, cnode, localcoord)
 Get the natural coord of a vertex node. More...
 
subroutine elementinfo::extrapolatevalue (lpos, fetype, nnode, pvalue, ndvalue)
 This subroutine extrapolate a point value into elemental nodes. More...
 
subroutine elementinfo::interapolatevalue (lpos, fetype, nnode, pvalue, ndvalue)
 This subroutine interapolate element nodes value into a point value. More...
 
subroutine elementinfo::gauss2node (fetype, gaussv, nodev)
 This subroutine extroplate value in quadrature point to element nodes. More...
 
real(kind=kreal) function elementinfo::getreferencelength (fetype, nn, localcoord, elecoord)
 This function calculates reference length at a point in surface. More...
 

Variables

integer, parameter elementinfo::fe_unknown = -1
 
integer, parameter elementinfo::fe_line2n = 111
 
integer, parameter elementinfo::fe_line3n = 112
 
integer, parameter elementinfo::fe_tri3n = 231
 
integer, parameter elementinfo::fe_tri6n = 232
 
integer, parameter elementinfo::fe_tri6nc = 2322
 
integer, parameter elementinfo::fe_quad4n = 241
 
integer, parameter elementinfo::fe_quad8n = 242
 
integer, parameter elementinfo::fe_truss = 301
 
integer, parameter elementinfo::fe_tet4n = 341
 
integer, parameter elementinfo::fe_tet4n_pipi = 3414
 
integer, parameter elementinfo::fe_tet10n = 342
 
integer, parameter elementinfo::fe_tet10nc = 3422
 
integer, parameter elementinfo::fe_prism6n = 351
 
integer, parameter elementinfo::fe_prism15n = 352
 
integer, parameter elementinfo::fe_hex8n = 361
 
integer, parameter elementinfo::fe_hex20n = 362
 
integer, parameter elementinfo::fe_hex27n = 363
 
integer, parameter elementinfo::fe_if_line2n = 511
 
integer, parameter elementinfo::fe_beam2n = 611
 
integer, parameter elementinfo::fe_beam3n = 612
 
integer, parameter elementinfo::fe_beam341 = 641
 
integer, parameter elementinfo::fe_tri6n_shell = 732
 
integer, parameter elementinfo::fe_dsg3_shell = 733
 
integer, parameter elementinfo::fe_mitc3_shell = 731
 
integer, parameter elementinfo::fe_mitc4_shell = 741
 
integer, parameter elementinfo::fe_mitc8_shell = 742
 
integer, parameter elementinfo::fe_mitc9_shell = 743
 
integer, parameter elementinfo::fe_mitc3_shell361 = 761
 
integer, parameter elementinfo::fe_mitc4_shell361 = 781
 
integer, parameter elementinfo::fe_nodesmooth_tet4n = 881
 
integer, parameter elementinfo::fe_edgesmooth_tet4n = 891
 
integer, parameter elementinfo::fe_tri3n_patch = 1031
 
integer, parameter elementinfo::fe_tri6n_patch = 1032
 
integer, parameter elementinfo::fe_quad4n_patch = 1041
 
integer, parameter elementinfo::fe_quad8n_patch = 1042