hookeai.data_generation.spdg.patch_generator.FiniteElement

class FiniteElement(elem_type)[source]

Bases: object

Quadrilateral/Hexahedral finite element.

_elem_type

Finite element type.

Type:

str

_n_dim

Number of spatial dimensions.

Type:

int

_n_nodes

Number of nodes.

Type:

int

_n_edges

Number of edges.

Type:

int

_n_edge_nodes

Number of nodes per edge.

Type:

int

_nodes_matrix

Element nodes matrix (numpy.ndarray[int](n_dim*(n_edge_nodes,))) where each element corresponds to a given node position and whose value is set either as the node label (according to adopted numbering convention) or zero (if the node does not exist). Nodes are labeled from 1 to n_nodes.

Type:

numpy.ndarray(2d or 3d)

_available_elem_type()[source]

Get available finite element types.

_is_available_elem_type(elem_type)[source]

Check if finite element type is available.

_set_elem_type_attributes(self)[source]

Set finite element type attributes.

get_n_dim(self)[source]

Get number of spatial dimensions.

get_n_edge_nodes(self)[source]

Get number of nodes per edge.

get_nodes_matrix(self)[source]

Get element nodes matrix.

get_node_label_index(self, label)[source]

Get node label index on element nodal matrix.

Constructor.

Parameters:

elem_type (str) – Finite element type.

List of Public Methods

get_n_dim

Get number of spatial dimensions.

get_n_edge_nodes

Get number of nodes per edge.

get_n_nodes

Get number of nodes.

get_node_label_index

Get node label index on element nodal matrix.

get_nodes_matrix

Get element nodes matrix.

Methods

__init__(elem_type)[source]

Constructor.

Parameters:

elem_type (str) – Finite element type.

static _available_elem_type()[source]

Get available finite element types.

Returns:

available – Available finite element types.

Return type:

tuple[str]

static _is_available_elem_type(elem_type)[source]

Check if finite element type is available.

Parameters:

elem_type (str) – Finite element type.

Returns:

is_available – True if the element type is available, False otherwise.

Return type:

bool

_set_elem_type_attributes()[source]

Set finite element type attributes.

get_n_dim()[source]

Get number of spatial dimensions.

Returns:

n_dim – Number of spatial dimensions.

Return type:

int

get_n_edge_nodes()[source]

Get number of nodes per edge.

Returns:

n_edge_nodes – Number of nodes per edge.

Return type:

int

get_n_nodes()[source]

Get number of nodes.

Returns:

n_nodes – Number of nodes.

Return type:

int

get_node_label_index(label)[source]

Get node label index on element nodal matrix.

Parameters:

label (int) – Node label.

Returns:

index – Index of node label on element nodal matrix.

Return type:

tuple[int]

get_nodes_matrix()[source]

Get element nodes matrix.

Returns:

nodes_matrix – Element nodes matrix (numpy.ndarray[int](n_dim*(n_edge_nodes,))) where each element corresponds to a given node position and whose value is set either as the node label (according to adopted numbering convention) or zero (if the node does not exist). Nodes are labeled from 1 to n_nodes.

Return type:

numpy.ndarray(2d or 3d)