FUNCTION consistent_element_reference
(aspect : GENERIC, element : element_representation) : BOOLEAN;
LOCAL srrs : STRING; feacr : STRING; aspect_type : SET [1:?] OF STRING; element_type : SET [1:?] OF STRING; END_LOCAL;
srrs := 'STRUCTURAL_RESPONSE_REPRESENTATION_SCHEMA.'; feacr := 'FINITE_ELEMENT_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.'; aspect_type := TYPEOF (aspect); element_type := TYPEOF (element);
IF ((srrs + 'ELEMENT_REPRESENTATION') IN element_type) THEN IF ((srrs + 'ELEMENT_VOLUME') IN aspect_type) THEN RETURN (TRUE); END_IF; END_IF;
IF ((srrs + 'VOLUME_3D_ELEMENT_REPRESENTATION') IN element_type) THEN IF (((feacr + 'VOLUME_3D_FACE') IN aspect_type) OR ((feacr + 'VOLUME_3D_EDGE') IN aspect_type)) THEN RETURN (TRUE); END_IF; END_IF;
IF (((srrs + 'AXISYMMETRIC_VOLUME_2D_ELEMENT_REPRESENTATION') IN element_type) OR ((srrs + 'PLANE_VOLUME_2D_ELEMENT_REPRESENTATION') IN element_type)) THEN IF (((feacr + 'VOLUME_2D_FACE') IN aspect_type) OR ((feacr + 'VOLUME_2D_EDGE') IN aspect_type)) THEN RETURN (TRUE); END_IF; END_IF;
IF ((srrs + 'SURFACE_3D_ELEMENT_REPRESENTATION') IN element_type) THEN IF (((feacr + 'SURFACE_3D_FACE') IN aspect_type) OR ((feacr + 'SURFACE_3D_EDGE') IN aspect_type)) THEN RETURN (TRUE); END_IF; END_IF;
IF (((srrs + 'AXISYMMETRIC_SURFACE_2D_ELEMENT_REPRESENTATION') IN element_type) OR ((srrs + 'PLANE_SURFACE_2D_ELEMENT_REPRESENTATION') IN element_type)) THEN IF (((feacr + 'SURFACE_2D_FACE') IN aspect_type) OR ((feacr + 'SURFACE_2D_EDGE') IN aspect_type)) THEN RETURN (TRUE); END_IF; END_IF;
IF (((srrs + 'CURVE_3D_ELEMENT_REPRESENTATION') IN element_type) OR ((srrs + 'AXISYMMETRIC_CURVE_2D_ELEMENT_REPRESENTATION') IN element_type) OR ((srrs + 'PLANE_CURVE_2D_ELEMENT_REPRESENTATION') IN element_type)) THEN IF ((srrs + 'CURVE_EDGE') IN aspect_type) THEN RETURN (TRUE); END_IF; END_IF;
RETURN (FALSE); END_FUNCTION; -- consistent_element_reference
|