Documentation
¶
Index ¶
- type Beam2dof6
- type Hexa20
- type Hexa8
- type Quad4
- type Quad8
- type Tetra10
- type Tetra4
- type Triangle3
- func (Triangle3) Basis(v r3.Vec) []float64
- func (Triangle3) BasisDiff(v r3.Vec) []float64
- func (t3 Triangle3) Dofs() fem.DofsFlag
- func (Triangle3) IsoparametricNodes() []r3.Vec
- func (Triangle3) LenNodes() int
- func (t3 Triangle3) Quadrature() (nodes []r3.Vec, weights []float64)
- func (t3 Triangle3) String() string
- type Triangle6
- func (Triangle6) Basis(v r3.Vec) []float64
- func (Triangle6) BasisDiff(v r3.Vec) []float64
- func (Triangle6) Dofs() fem.DofsFlag
- func (Triangle6) IsoparametricNodes() []r3.Vec
- func (Triangle6) LenNodes() int
- func (t6 Triangle6) Quadrature() (nodes []r3.Vec, weights []float64)
- func (t6 Triangle6) String() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Beam2dof6 ¶
type Beam2dof6 struct { // Cross-sectional area of beam (YZ plane in local coordinates) A float64 // Area moment of inertia of beam corresponding to couple on local Y axis. Iy float64 // Area moment of inertia of beam corresponding to couple on local Z axis. Iz float64 // Longitudinal moment of inertia of beam corresponding to torsion on local X axis. J float64 // contains filtered or unexported fields }
Beam2dof6 represents a 1D beam element with 6 dof on each of it's two nodes. The beam is by default oriented in X direction.
func (*Beam2dof6) SetConstitutive ¶
type Hexa20 ¶
type Hexa20 struct { // QuadratureOrder is the order (a.k.a degree) of the quadrature used for integration. // If zero a default value of 3 is used (3x3x3 gauss quadrature). QuadratureOrder int // NodeDofs is the number of degrees of freedom per node. // If set to 0 a default value of fem.DofX|fem.DofY|fem.DofZ (0b111) is used. NodeDofs fem.DofsFlag }
Hexa20 is the serendipity 3D quadratic strain hexahedral element of 20 nodes.
func (Hexa20) BasisDiff ¶
BasisDiff returns the differentiated form functions of the Hexa20 element evaluated at v. The result first contains the form functions differentiated with respect to X, then Y and finally Z.
[ dN/dx ] N = | dN/dy | (row major form) [ dN/dz ]
func (Hexa20) Dofs ¶
func (h20 Hexa20) Dofs() fem.DofsFlag
Dofs returns the set dofs for the element's nodes.
func (Hexa20) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
func (Hexa20) Quadrature ¶
Quadrature returns
type Hexa8 ¶
type Hexa8 struct { // QuadratureOrder is the order (a.k.a degree) of the quadrature used for integration. // If zero a default value of 2 is used (2x2x2 gauss quadrature). QuadratureOrder int // NodeDofs is the number of degrees of freedom per node. // If set to 0 a default value of fem.DofX|fem.DofY|fem.DofZ (0b111) is used. NodeDofs fem.DofsFlag }
Hexa8 is the 3D linear strain hexahedral element of 8 nodes.
func (Hexa8) BasisDiff ¶
BasisDiff returns the differentiated form functions of the Hexa8 element evaluated at v. The result first contains the form functions differentiated with respect to X, then Y and finally Z.
[ dN/dx ] N = | dN/dy | (row major form) [ dN/dz ]
func (Hexa8) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
type Quad4 ¶
type Quad4 struct { // QuadratureOrder is the order (a.k.a degree) of the quadrature used for integration. // If zero a default value of 2 is used (2x2 gauss quadrature). QuadratureOrder int // NodeDofs is the number of degrees of freedom per node. // If set to 0 a default value of fem.DofX|fem.DofY (0b11) is used. NodeDofs fem.DofsFlag }
Quad43d3d is the 4 node 2D quadrilateral element.
func (Quad4) BasisDiff ¶
BasisDiff returns the differentiated form functions of the Quad43d element evaluated at v.
func (Quad4) Dofs ¶
func (q4 Quad4) Dofs() fem.DofsFlag
Dofs returns the degrees of freedom of the nodes of the element.
func (Quad4) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
func (Quad4) Quadrature ¶
Quadrature returns the quadrature nodes and weights of the element.
type Quad8 ¶
type Quad8 struct { // QuadratureOrder is the order (a.k.a degree) of the quadrature used for integration. // If zero a default value of 3 is used (3x3 gauss quadrature). QuadratureOrder int // NodeDofs is the number of degrees of freedom per node. // If set to 0 a default value of fem.DofX|fem.DofY (0b11) is used. NodeDofs fem.DofsFlag }
Quad8 is the 8 node 2D quadrilateral element, also known as Serendipity element due to the serendipitous nature of its integration points which make it unlike other 2D elements.
func (Quad8) BasisDiff ¶
BasisDiff returns the differentiated form functions of the Quad8 element evaluated at v.
func (Quad8) Dofs ¶
func (q8 Quad8) Dofs() fem.DofsFlag
Dofs returns the degrees of freedom of the nodes of the element.
func (Quad8) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
func (Quad8) Quadrature ¶
Quadrature returns the quadrature nodes and weights of the element.
type Tetra10 ¶
type Tetra10 struct { // NodeDofs is the number of degrees of freedom per node. // If set to 0 a default value of fem.DofX|fem.DofY|fem.DofZ (0b111) is used. NodeDofs fem.DofsFlag }
Tetra10 is the 3D quadratic strain tetrahedral element of 4 corner nodes and 6 edge nodes.
func (Tetra10) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
type Tetra4 ¶
type Tetra4 struct { // NodeDofs is the number of degrees of freedom per node. // If set to 0 a default value of fem.DofX|fem.DofY|fem.DofZ (0b111) is used. NodeDofs fem.DofsFlag }
Tetra4 is the 3D linear strain tetrahedral element of 4 nodes.
func (Tetra4) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
type Triangle3 ¶
type Triangle3 struct { // QuadratureOrder is the degree of the quadrature used for integration. // If zero a default value of 1 is used (1 node gauss quadrature). QuadratureOrder int // NodeDofs is the number of degrees of freedom per node. // If set to 0 a default value of fem.DofX|fem.DofY (0b11) is used. NodeDofs fem.DofsFlag }
Triangle3 is the 3 node 2D triangle element.
func (Triangle3) BasisDiff ¶
BasisDiff returns the differentiated form functions of the Triangle3 element evaluated at v.
func (Triangle3) Dofs ¶
func (t3 Triangle3) Dofs() fem.DofsFlag
Dofs returns the degrees of freedom of the nodes of the element.
func (Triangle3) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
func (Triangle3) Quadrature ¶
Quadrature returns the quadrature integration nodes and weights of the element.
type Triangle6 ¶
type Triangle6 struct { // QuadratureOrder is the degree of the quadrature used for integration. // If zero a default value of 2 is used (3 node gauss quadrature). QuadratureOrder int }
Triangle6 is the 6 node 2D triangle element. The 3 nodes besides the corners are located at the middle of the edges.
func (Triangle6) BasisDiff ¶
BasisDiff returns the differentiated form functions of the Triangle6 element evaluated at v.
func (Triangle6) Dofs ¶
func (Triangle6) Dofs() fem.DofsFlag
Dofs returns the degrees of freedom of the nodes of the element.
func (Triangle6) IsoparametricNodes ¶
IsoparametricNodes returns the positions of the nodes relative to the origin of the element.
func (Triangle6) Quadrature ¶
Quadrature returns the quadrature integration nodes and weights of the element.