Overview Schemas Index

STRUCTURAL_RESPONSE_REPRESENTATION_SCHEMA (jsdai.SStructural_response_representation_schema)


FUNCTION build_direction_node
          (node_1 : node_representation, node_2 : node_representation) : LIST [2:3] OF REAL;

LOCAL
  nodal_direction_ratios    : LIST [2:3] OF  REAL;
  u                         : direction;
  i                         : INTEGER;
  ndim                      : INTEGER;
  rep_items                 : SET [1:?] OF representation_item;
  node_1_point              : cartesian_point;
  node_2_point              : cartesian_point;
END_LOCAL;

rep_items := node_1.items;
REPEAT i := 1 TO  SIZEOF(rep_items);
  IF  ('GEOMETRY_SCHEMA.CARTESIAN_POINT' IN  TYPEOF(rep_items[i])) THEN
    node_1_point := rep_items[i];
    ESCAPE;
  END_IF; 
END_REPEAT;

rep_items := node_2.items;
REPEAT i := 1 TO  SIZEOF(rep_items);
  IF ('GEOMETRY_SCHEMA.CARTESIAN_POINT' IN TYPEOF(rep_items[i])) THEN
    node_2_point := rep_items[i];
    ESCAPE;
  END_IF; 
END_REPEAT;

ndim := HIINDEX(node_2_point.coordinates);
REPEAT i := 1 TO  ndim;
  u.direction_ratios[i] := node_2_point.coordinates[i] - 
                           node_1_point.coordinates[i];
END_REPEAT;

u := normalise (u);
REPEAT i := 1 TO ndim;
  nodal_direction_ratios[i] := u.direction_ratios[i];
END_REPEAT;

RETURN (nodal_direction_ratios);

END_FUNCTION; -- build_direction_node

public class FBuild_direction_node
          public static Value run(SdaiContext _context, Value node_1, Value node_2)