Application module: Thermal network definition ISO/TS 10303-1752:2018-11(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definition
   4.3 ARM entity definitions
   4.4 ARM function definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

4 Information requirements

This clause specifies the information requirements for the Thermal network definition application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Thermal_network_definition_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Thermal_network_definition_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Component_feature_arm;    --  ISO/TS 10303-1657

USE FROM Network_functional_design_view_arm;    --  ISO/TS 10303-1704

USE FROM Non_feature_shape_element_arm;    --  ISO/TS 10303-1706

REFERENCE FROM Support_resource_arm    --  ISO/TS 10303-1800
  (bag_to_set);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Component_feature_arm ISO/TS 10303-1657
Network_functional_design_view_arm ISO/TS 10303-1704
Non_feature_shape_element_arm ISO/TS 10303-1706
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1and C.2 for a graphical representation of this schema.

4.2 ARM type definition

This subclause specifies the ARM type for this application module. The ARM type and definition is specified below.

4.2.1 tnd_location_select   EXPRESS-G

The tnd_location_select type is an extensible list of alternate data types that allows for the designation of the data types Cartesian_point, Part_feature, Non_feature_shape_element, and Component_feature.

NOTE   The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE tnd_location_select = EXTENSIBLE GENERIC_ENTITY SELECT
   (Cartesian_point,
    Part_feature,
    Non_feature_shape_element,
    Component_feature);
END_TYPE;
(*

4.3 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.3.1 Thermal_functional_unit_network_node_definition   EXPRESS-GMapping table

A Thermal_functional_unit_network_node_definition is a type of Functional_unit_network_node_definition.

EXPRESS specification:

*)
ENTITY Thermal_functional_unit_network_node_definition
  SUBTYPE OF (Functional_unit_network_node_definition);
  SELF\Functional_unit_network_node_definition.associated_functional_unit_definition : Thermal_network_definition;
  location : OPTIONAL tnd_location_select;
  used_model : OPTIONAL shape_model;
WHERE
  WR1: SIZEOF(USEDIN(SELF, 'NETWORK_FUNCTIONAL_DESIGN_VIEW_ARM.BUS_ELEMENT_LINK.PRECEDENT_ELEMENT' )) + SIZEOF(USEDIN(SELF, 'NETWORK_FUNCTIONAL_DESIGN_VIEW_ARM.BUS_ELEMENT_LINK.SUBSEQUENT_ELEMENT' )) = 0;
  WR2: NOT('ELEMENTAL_GEOMETRIC_SHAPE_ARM.CARTESIAN_POINT' IN TYPEOF(location)) OR (used_model IN using_representations(location));
  WR3: NOT('ELEMENTAL_GEOMETRIC_SHAPE_ARM.CARTESIAN_POINT' IN TYPEOF(location)) OR (SIZEOF(QUERY(sda <* USEDIN(used_model, 'PROPERTY_ASSIGNMENT_ARM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | sda\Property_definition_representation.definition = SELF\Functional_unit_network_node_definition.associated_functional_unit_definition)) = 1);
  WR4: NOT(('ELEMENTAL_GEOMETRIC_SHAPE_ARM.CARTESIAN_POINT' IN TYPEOF(location)) XOR EXISTS(used_model));
END_ENTITY;
(*

Attribute definitions:

associated_functional_unit_definition: an attribute inherited from the Functional_unit_network_node_definition shall be redeclared as the Thermal_network_definition for the Thermal_functional_unit_network_node_definition.

location: specifies the location of the thermal node. Several options are provided to enable differing usages to be supported. The value of this attribute need not be specified.

used_model: specifies the role of the shape_model for the Thermal_functional_unit_network_node_definition. The value of this attribute need not be specified.

Formal propositions:

WR1: A Thermal_functional_unit_network_node_definition shall not participate in the definition of a Bus.

WR2: If location is a Cartesian_point then the location shall directly or indirectly be used by the used_model.

WR3: If location is a Cartesian_point then the used_model shall be related to the associated_functional_unit_definition by a Shape_description_association.

WR4: A Cartesian_point shall be provided for location if and only if used_model is provided.

4.3.2 Thermal_network_definition   EXPRESS-GMapping table

A Thermal_network_definition is a type of Functional_unit_network_definition for which the network nodal formulation is a representation of heat flow rather than current flow. An approved Thermal_network_definition shall be consistent with conservative laws.

EXPRESS specification:

*)
ENTITY Thermal_network_definition
  SUBTYPE OF (Functional_unit_network_definition);
END_ENTITY;
(*

4.4 ARM function definitions

This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.

4.4.1 using_items

The function using_items returns the set of instances of Representation_item that reference a Representation_item directly or indirectly.

EXPRESS specification:

*)
FUNCTION using_items (item : Representation_item; checked_items : SET[0:?] OF Representation_item) : SET[0:?] OF Representation_item;
LOCAL
      new_check_items    : SET OF Representation_item;
      result_items       : SET OF Representation_item;
      next_items         : SET OF Representation_item;
    END_LOCAL;
    result_items := [];
    new_check_items := checked_items + item;
    -- Find the set of representation_items or founded_items
    -- in which item is used directly.
    next_items := QUERY(z <* bag_to_set( USEDIN(item , '')) |
      ('FOUNDATION_REPRESENTATION_ARM.REPRESENTATION_ITEM' IN TYPEOF(z)));
    -- If the set of next_items is not empty;
    IF SIZEOF(next_items) > 0 THEN
      -- For each element in the set, find the using_items recursively
      REPEAT i := 1 TO HIINDEX(next_items);
        -- Check for loop in data model, i.e. one of the next_items
        -- occurred earlier in the set of check_items;
        IF NOT(next_items[i] IN new_check_items) THEN
          result_items := result_items + next_items[i] +
                          using_items(next_items[i],new_check_items);
        END_IF;
      END_REPEAT;
    END_IF;
    -- return the set of representation_items or founded_items
    -- in which the input item is used directly and indirectly.
    RETURN (result_items);
END_FUNCTION;
(*

Argument definitions:

item: the Representation_item for which the referencing instances of Representation_item are determined. This is input to the function.

checked_items: the set of instances of Representation_item that have been checked already in order to ensure termination of the recursive function. This is input to the function.

4.4.2 using_representations

The function using_representations returns the set of Representations in which a Representation_item is used.

A Representation_item is used in a Representation if it is:

NOTE    The second condition is the check allowing for a Representation_item to be used in a Representation by being part of a tree of related Representation_items. The tree is rooted in an entity used in a Representation by fulfilling the first condition.

A Representation_item is used in a Representation if it is referenced directly, or indirectly, by a Representation_item in the set of items of the Representation.

EXPRESS specification:

*)
FUNCTION using_representations (item : Representation_item) : SET[0:?] OF Representation;
LOCAL
      results            : SET OF Representation;
      result_bag         : BAG OF Representation;
      intermediate_items : SET OF Representation_item;
    END_LOCAL;
    -- Find the representations in which the item is used and add to the
    -- results set.
    results := [];
    result_bag := USEDIN(item,'FOUNDATION_REPRESENTATION_ARM.REPRESENTATION.ITEMS');
    IF SIZEOF(result_bag) > 0 THEN
      REPEAT i := 1 TO HIINDEX(result_bag);
        results := results + result_bag[i];
      END_REPEAT;
    END_IF;
    -- Find all representation_items or founded_items
    -- by which item is referenced directly or indirectly.
    intermediate_items := using_items(item,[]);
    -- If the set of intermediate items is not empty;
    IF SIZEOF(intermediate_items) > 0 THEN
      -- For each element in the set, add the
      -- representations of that element.
      REPEAT i := 1 TO HIINDEX(intermediate_items);
        result_bag := USEDIN(intermediate_items[i],
                      'FOUNDATION_REPRESENTATION_ARM.REPRESENTATION.ITEMS');
        IF SIZEOF(result_bag) > 0 THEN
          REPEAT j := 1 TO HIINDEX(result_bag);
            results := results + result_bag[j];
          END_REPEAT;
        END_IF;
      END_REPEAT;
    END_IF;
    -- Return the set of representation in which the input item is
    -- used directly and indirectly (through intervening
    -- representation_items or founded items).
    RETURN (results);
END_FUNCTION;
(*

Argument definitions:

item: the Representation_item for which using instances of Representation are determined. This is input to the function.



*)
END_SCHEMA;  -- Thermal_network_definition_arm
(*


© ISO 2018 — All rights reserved