Integrated generic resource: Numerical analysis | ISO/DIS 10303-53 © ISO |
*)
SCHEMA analysis_schema;
REFERENCE FROM
analysis_product_relationships_schema
--
ISO 10303-53
(view_relationship);
REFERENCE FROM
mesh_topology_schema
--
ISO 10303-52
(mesh);
REFERENCE FROM
product_property_definition_schema
--
ISO 10303-41
(general_property);
REFERENCE FROM
support_resource_schema;
--
ISO 10303-41
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
analysis_product_relationships_schema ISO 10303-53 mesh_topology_schema ISO 10303-52 product_property_definition_schema ISO 10303-41 support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
NOTE If an analysis model is a continuum, then there is a 'membership' concept which is interpreted as a place within the continuum. A field is a function from the continuum to a property space. For example a temperature field is a function from the continuum to the property space 'temperature'.
There is also a membership concept for a temporal spatial domain. In this case, the members are the physical individuals that have the properties assigned to the temporal spatial domain.EXAMPLE 1 The temporal spatial domain may be a beam during a loading process. Different analysis models may be created as follows:
EXAMPLE 2 The stress-strain behaviour of a temporal spatial domain may be very complicated. An approximate elastic behaviour may be assumed for analysis.
EXPRESS specification:
*)
ENTITY behavioural_decomposition_of_numerical_model;
parts : SET[2:?] OF numerical_model;
whole : numerical_model;
END_ENTITY;
(*
Attribute definitions:
parts: the numerical_model that is the union of the parts
whole: the numerical_model that is the union of the parts. the set of instances of numerical_model that are subbehaviours of the whole;
EXAMPLE Beam type XYZ regarded as a set of cross-sections of time instants during loading procedure L1 is a model_action_domain. This model_action_domain is the domain of distributions whihc vary in two dimensions - position along the beam and time. The distributions include rotation for each instant, and bending moment for each position for each instant.
EXPRESS specification:
*)
ENTITY model_action_domain
SUBTYPE OF (numerical_model);
initial : model_state_domain;
final : model_state_domain;
END_ENTITY;
(*
Attribute definitions:
initial: the model_state_domain that is a boundary of the model_action_domain for the initial time.
final: the model_state_domain that is a boundary of the model_action_domain for the final time.
EXAMPLE Beam type XYZ regarded as a set of cross sections is a model_product_domain.
EXPRESS specification:
*)
ENTITY model_product_domain
SUBTYPE OF (numerical_model);
temporal_parts : LIST[0:?] OF model_action_domain;
END_ENTITY;
(*
Attribute definitions:
temporal_parts: the instances of model_action_domain that are preformed by the model_product_domain.
NOTE Each member of a model_product_domain corresponds to a physical_product. For each referenced model_action_domain there is a subset (itself a model_action_domain) that corresponds to the physical_product. This subset is a view of a physical_action performed by the physical_product.
EXPRESS specification:
*)
ENTITY model_product_domain_with_mesh
SUBTYPE OF (model_product_domain);
model_mesh : mesh;
END_ENTITY;
(*
Attribute definitions:
model_mesh: the mesh discretizing the model_product_domain.
EXPRESS specification:
*)
ENTITY model_property_distribution;
creating_software : text;
domain : numerical_model;
range : general_property;
END_ENTITY;
(*
Attribute definitions:
creating_software: the name of the software used to create the model_property_distribution. The vendor, version, computer system, operating system and description shall be specified.
domain: the numerical_model that is the domain of the model_property_distribution.
range: the general_property that is the range of the model_property_distribution.
For a time slice:
EXAMPLE Beam type XYZ regarded as a set of cross-sections at the end of loading procedure L1 is a model_state_domain. This model_state_domain is the domain of distributions which vary in one dimension - position along the beam. The distributions include rotation for each position, and bending moment for each position.
EXPRESS specification:
*)
ENTITY model_state_domain
SUBTYPE OF (numerical_model);
END_ENTITY;
(*
EXAMPLE 1 Examples include: 3D continuum (volume elements in FEA); 2D continuum (shell elements in FEA); 1D continuum (beam elements in FEA); lumped masses (in a many-body problem).
A numerical_model is a view of a temporal_spatial_object specificiation as a set or space. The members of the set or space may consist of:NOTE 1 Only an object that is a set or space can be the domain of a distribution function.
EXAMPLE 2 Beam type XYZ during the loading procedure L1 regarded as a point set is a numerical_model. This numerical_model is the domain of distrubiton which vary in four dimensions - position and time. The distributions include displacement for each position for each instant and stress for each position for each instant.
EXAMPLE 3 Beam type XYZ durng loading procedure L1 regarded as a set of cross-sections for time instants is a numerical_model This numerical_model is the domain of distributions which vary in two-dimensions - position along the beam and time. The distributions include rotation for each position and for each instant, and bending moment for each position for each instant.
EXAMPLE 4 Beam type XYZ during heating procedure H1 regarded as a set of 10 segments for time instants is an numerical model. This numerical model is the domain of distributions which vary in two dimensions (one discrete and one continuous) - sub-beam and time. The distributions include average temperature for each segment for each instant, and thermal energy for each segment for each instant.
EXAMPLE 5 Beam type XYZ during heating procedure H1 regarded as a set of 10 segments for 20 time steps is an numerical model. This numerical model is the domain of distributions which vary in two dimensions (both discrete) - sub-beam and time. The distributions include average temperature for each segment for each step, and total thermal energy gain for each segment for each step.
NOTE 2 A temporal spatial object is a speci?cation or class that an individual physical object in the real world can be a member of. The members of an numerical model are instances of temporal spatial object.
EXAMPLE 6 Beam type XYZ during loading procedure L1 is a physical activity; a speci?cation that has an individual beam of type XYZ being loaded according to L1 as a member.
Beam type XYZ during loading procedure L1, regarded as a set of cross-sections for time instants is a model action domain. The cross-section at end 2 of the beam at the end of the loading procedure is a physical state that is a member of this set or space. The cross-section at end 2 of an individual beam of type XYZ that has been loaded according to procedure L1 is a member of this physical state.
EXPRESS specification:
*)
ENTITY numerical_model;
id : identifier;
name : label;
description : text;
creating_software : text;
intended_analysis_code : SET[1:?] OF text;
analysis_type : text;
WHERE
wr1: temporal_spatial_domain_for_model(SELF);
END_ENTITY;
(*
Attribute definitions:
id: identifier for the numerical_model.
name: user-specified instance identifier.
description: text that provides further information about the numerical_model.
creating_software: the name of the software used to create numerical_model. The version of the software shall be specifed.
intended_analysis_code: set of one or many names of the intended analysis code that a numerical model was created for. Each intended analysis code shall have the vendor, version, computer system, operating system and descriptions specifed.
analysis_type: a description of what type of analysis is to be performed with this numerical analysis.
Formal propositions:
wr1: The numerical_model shall be associated with a temporal spatial domain via a view relationship.
EXAMPLE A particular run carried out on a particular computer by a particular analysis code at a particular time is a simulation run.
EXPRESS specification:
*)
ENTITY simulation_run;
id : identifier;
name : label;
description : text;
simulated : numerical_model;
results : SET[0:?] OF model_property_distribution;
END_ENTITY;
(*
Attribute definitions:
id: the identifier for the simulation_run.
name: the words by which the simulation_run is known.
description: the text that provides further information about the simulation_run.
simulated: the numerical_model that is simulated.
results: the instances of model property distribution that result from the simulation.
EXPRESS specification:
*)
ENTITY spatial_decomposition_of_numerical_model;
parts : SET[2:?] OF numerical_model;
whole : numerical_model;
END_ENTITY;
(*
Attribute definitions:
parts: the set of instances of numerical_model that are subspaces of the whole.
whole: the numerical_model that is the union of the parts.
EXPRESS specification:
*)
ENTITY temporal_decomposition_of_model_action;
parts : LIST[2:?] OF model_action_domain;
whole : model_action_domain;
END_ENTITY;
(*
Attribute definitions:
parts: the set of instances of model_action_domain at different times.
whole: the model_action_domain that is the union of the parts.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT sc1_numerical_model FOR numerical_model;
ABSTRACT SUPERTYPE;
END_SUBTYPE_CONSTRAINT;
(*
The view_relationship can be:
EXPRESS specification:
*)
FUNCTION temporal_spatial_domain_for_model (domain : numerical_model) :BOOLEAN;
LOCAL spatial_set : SET OF spatial_decomposition_of_numerical_model; behavioural_set : SET OF behavioural_decomposition_of_numerical_model; domains : SET OF numerical_model := []; viewing : BAG OF view_relationship; spatial_bag : BAG OF spatial_decomposition_of_numerical_model; behavioural_bag : BAG OF behavioural_decomposition_of_numerical_model; END_LOCAL; viewing := USEDIN(domain, 'ANALYSIS_PRODUCT_RELATIONSHIPS_SCHEMA.VIEW_RELATIONSHIP.VIEW'); IF SIZEOF(viewing) > 0 THEN RETURN (TRUE); END_IF; spatial_bag := USEDIN(domain, 'ANALYSIS_SCHEMA.SPATIAL_DECOMPOSITION_OF_NUMERICAL_MODEL.PARTS'); IF SIZEOF(spatial_bag) > 0 THEN spatial_set := spatial_bag; REPEAT i := 1 TO HIINDEX(spatial_set); domains := domains + spatial_set[i].whole; END_REPEAT; END_IF; behavioural_bag := USEDIN(domain, 'ANALYSIS_SCHEMA.BEHAVIOURAL_DECOMPOSITION_OF_NUMERICAL_MODEL.PARTS'); IF SIZEOF(behavioural_bag) > 0 THEN behavioural_set := bag_to_set(behavioural_bag); REPEAT i := 1 TO HIINDEX(behavioural_set); domains := domains + behavioural_set[i].whole; END_REPEAT; END_IF; IF SIZEOF(domains) > 0 THEN REPEAT i := 1 TO HIINDEX(domains); IF temporal_spatial_domain_for_model(domains[i]) THEN RETURN (TRUE); END_IF; END_REPEAT; END_IF; RETURN (FALSE);
END_FUNCTION;
(*
Argument definitions:
domain: (input) the numerical_model to be checked.
*)
END_SCHEMA; -- analysis_schema
(*
© ISO 2009 — All rights reserved