FUNCTION required_2d_nodes
(node_list : LIST [1:?] OF node_representation, element_shape : element_2d_shape, order : element_order) : BOOLEAN;
LOCAL vertex_nodes : INTEGER; edge_nodes : INTEGER; edge_face_body_nodes : INTEGER; END_LOCAL;
IF (element_shape = triangle) THEN vertex_nodes := 3; IF (order = linear) THEN edge_nodes := 0; edge_face_body_nodes := 0; END_IF; IF (order = quadratic) THEN edge_nodes := 3; edge_face_body_nodes := 3; END_IF; IF (order = cubic) THEN edge_nodes := 6; edge_face_body_nodes := 7; END_IF; END_IF;
IF (element_shape = quadrilateral) THEN vertex_nodes := 4; IF (order = linear) THEN edge_nodes := 0; edge_face_body_nodes := 0; END_IF; IF (order = quadratic) THEN edge_nodes := 4; edge_face_body_nodes := 5; END_IF; IF (order = cubic) THEN edge_nodes := 8; edge_face_body_nodes := 12; END_IF; END_IF;
RETURN ((SIZEOF (node_list) = vertex_nodes + edge_nodes) OR (SIZEOF (node_list) = vertex_nodes + edge_face_body_nodes)); END_FUNCTION; -- required_2d_nodes
|