Analysis Solution

Analysis Modeler

Analysis Modeler Overview

Some general concepts about Analysis data

Technical Article

Abstract

The aim of this document is to introduce the different concepts on which the Analysis Infrastructure relies.

Any program that manipulates an Analysis document must provide code that navigates through its structure, so this roadmap is useful to produce or understand such code. It focuses on entities that are shown to the end user, introducing vocabulary common to all analysis programmers.

Fully imbedded inside the V5 philosophy, the Analysis model is based on a specification versus result approach. Beside model entities that are shown to the end user, an Analysis document contains other modeling objects that will be introduced (Field model and Meshing Model) for the result view.

Having a hands-on experience of the Structural Analysis interactive products is necessary to take full benefits from this article.


The Analysis Document

All Analysis data are stored inside the Analysis document. The extension of this document is "CATAnalysis". The data are stored in different containers.

The figure shows the contents of the CATAnalysis document in term of containers. All are created at the document initialization.

  1. The "Analysis Feature" container groups the Specifications. It is based on features and literals in order to capture as much as possible the user's design intent. After, the Spec objects build an analysis model supported by finite element entities by using standard physical type description.
  2. The "Field Model" container groups the concrete classes that define the view of the physics based on finite element entities.
  3. The "Meshing" container is the result view of the mesh specifications. It groups concrete classes.
  4. The "Images" container groups the Specifications that define the display of the analysis model. The Images container allows the physical types to be displayed once the are defined on finite element entities.

[Top]

Analysis Features

The Analysis features are the support for the specifications of the user. They support the V5 basic behaviors (Copy/Paste, update, navigation, selection, etc.).

[Top]

The End User View

The figure below shows a typical CATIA V5 work session within the Structural Analysis application. This Analysis document contains a reference to a design document (in this case, a Part document) on which a stress analysis is computed. This feature tree summarizes the different kinds of analysis features that are manipulated by the user interface. This same structure is used in order to scan the model when programming. What is the role of the different Analysis feature objects:

An Analysis model is made of some different features. The Analysis Manager is the root feature that manages:
  • The Links Manager role is to keep the link to the referenced design document. It can be a Part for single part analysis, a Product for analysis of a design assembly or other external documents. It is here a rod Part
  • The Finite Element Model is dedicated to the discretization (meshing global and local specifications) and idealization (behavior of the part as physical properties). By default it contains a meshing set called Nodes and Elements, a property set, a material set, and an axis set.
  • Relative to a Finite Element Model, some Analysis Cases are created in order to group all kinds of external data applied on the idealization. (In this case, Boundaries, Loads and the solution set that will give access to all the physical data that can be computed by the solver.)
  • The Analysis Case is defined for a given solver and for a specific computation. (In this case, static linear.) It is made of Analysis Sets that groups some Analysis Entities, which represent some physical preprocessing actions applied to the design. (For this example, apply a clamp or a momentum to B-rep elements of the part.)
  • In order to have the result visualization, images appear in the tree. They are connected in the tree under the set that provides the values for the display. In this example, they are connected under the Static Case Solution.1.

[Top]

Programming with Analysis Features

By default, after the document initialization, the Analysis document contains the Analysis Manager, the Links Manager and one FEM model. The following graph explains the dependency between the features and the interfaces implemented on the features.

From a pointer to the Analysis document, query a pointer to the CATISamAccess interface in order to retrieve the root container thanks to the GetSpecContainer method. This enables you to access the features. From the CATIContainer pointer returned, query a pointer to the CATISamAnalysisContainer interface.

From this CATISamAnalysisContainer pointer, you can use the GetAnalysisManager method to retrieve the CATISamAnalysisManager or query a pointer to the CATISamAnalysisModelFactory interface that manages all the methods for the analysis feature creation.

The CATISamAnalysisManager interface provides the methods to access the CATISamDocumentManager in order to manage the document linked to the current Analysis document, and access the different CATISamAnalysisModel methods implemented by the feature set called FEMModel.

The CATISamAnalysisModel interface provides the methods to access the analysis cases that apply to it using a pointer to CATISamAnalysisCase interface. Both implement the CATISamAnalysisScan interface that allows the analysis sets that make up the analysis model to be retrieved as pointers to the CATISamAnalysisSet interface. At the document initialization, an empty analysis model is created and contains the following sets:

By default for structural analysis and static linear displacement computation, the Analysis Case is made of the following sets:

By default for structural analysis and modal computation, the Analysis Case is made of the following sets:

CATISamAnalysisSet provides methods to create and access the analysis entities that make up the analysis set. These entities implement CATISamAnalysisEntity.

Any analysis entity is made of Physical data that implement CATISamBasicComponent (that accesses the physical data under literal [1] format in order to take benefit of ) and implement by itself CATISamAnalysisSupport (that manages the selection of finite element entities based on geometrical data). From the analysis entity, you can use the CATISamAnalysisEntity interface to retrieve its basic components or use CATISamAnalysisSupport for its analysis support by querying a pointer to the appropriate interface.

[Top]

Interfaces for Analysis Features

This part will describe the recommanded way of using CAA interfaces on Analysis features.

Analysis Interfaces Feature Type Role Default or adapter
CATISamExplicit Analysis feature (any analysis feature with physical type) Link Field Model Analysis modeler Implementation not to be overloaded. Main objective is to manage the life cycle of the Field model objects (Including Undo_Redo, Warm- Start ...)
CATISamExplicitation Analysis Set Generate Field Model Default Implementation generates an Explicit Set according to Physical type attribute of the feature. Main objective is the connection of preprocessing entities.
CATISamExplicitation CATObject defined on

STRUCTURAL_LateType

Generate Field Model To be implemented
CATICharacCollector Analysis Set

Analysis Entity

Generate the associated CharacCollector To be implemented by using CATECharacCollector Adapter.

[Top]

Field Model

This model is designed in order to support the finite element view of the specification. Specification means pre-processing and post-processing model and data access. The field model is made of concrete classes that must not be derived and of a dictionary that defines the physical types list and category, and the rules for the model as well. Note that when manipulating those classes, you are using a class close to an handler and not a pointer. The pointer of an explicit class is typed as CATSamExplicitPtr define. To store locally arrays of explicit objects, use the CATAnalysisExplicitListUsr or arrays of CATSamExplicitPtr.

The main field model components are:

A physical type is defined by the CATSamPhysicalType typedef. It can be considered as an enumeration that can be converted into an identifier during programming, or into a string for printing. All methods required to manipulate them are defined by using the CATAnalysisExplicitRulesData class with the help of CATAnalysisExplicitDefinition enumerates.

A version is defined by the CATSamCharacVersion object. This object is built according to the information list:

Public Data Enumerate for filling Comment
ValueType CATSamValue Type of data of the values
Math Type CATSamMathType Mathematical type
Math Dimension int from one to six
Ref Frame CATSamRefFrame Reference frame
Category CATSamValue Type of data on which it relies.
ValuesAreCombined boolean Defined if data are combined or not.
SubType CATString Complete the physical type definition

A Position is a CATString instance. It defines the positions on which field data entities can be applied. Existing position list is:

The general graph of the model can be summarized in the following image. It shows the principal object used for programming and the way they are implemented inside the field model. The instantiation of the CATAnalysisExplicitModel launches in memory the dictionary (an external file called "mechanical") that provides the list of physical types and the rules for the object design and relationship. According to this file, the Structural Analysis defines a default format for linear mechanical analysis.

To access the data inside the CATAnalysisCharacCollector object, use the CATSamDimension object. Some additional information are describe in the FAQ Quick Reference.

The following diagram summarize the relationships of the field model objects:

[Top]

Physical Types for Structural Analysis

The Sets Definition

For programming help the following array shows the correspondences between a feature late type, it's name is displayed on the screen (NLS) and the Physical type associated. This physical type is also the one of the Set that represent the feature in the field model.

Feature Late Type Feature NLS Name Physical Type
AnalysisManager Analysis Manager ANALYSIS
AnalysisModel Finite Element Model ANALYSIS_MODEL
AnalysisCase Analysis Case ANALYSIS_CASE
MSHMeshSet Nodes and Elements MESH
PropertySet Properties PROPERTIES
MaterialSet Materials MATERIALS
AxisSet Axes AXES
RestraintSet Restraints RESTRAINTS
LoadSet Loads LOADS
MassSet Masses MASSES

[Top]

The Preprocessing Entities Definition

They are described in the following reference [2].

[Top]

Local Axis Definition

Six kinds of local axes can be defined in the field model. They can be identified by explicit coordinates or nodes in order to define rectangular, cylindrical, and spherical axes as follows:

Physical Type list:

With Associated Characteristics:

AXIS_XXX_3D_COORDINATE AXIS_XXX_3D_NODE

[Top]

Getting Access to the Physical Types (CharacCollector) Available for an Analysis Feature

The access the different physical types of an existing feature can be retrieved by using implement the CATICharacCollector interface. For all the Preprocessing features (sets and entities) an implementation is provided. By using the reference [3], see how to extract this physics.

[Top]

Meshing Model

The meshing model is stored in the meshing container and contains the finite element discretisation data.

[Top]

Accessing the Meshing Model

The access to the meshing container is done by using the general feature tree. The feature set "Nodes and Elements" implements an interface that allow to work with the feature object included in the meshing container: CATIMSHMeshManager. This feature is build by derivation of the AnalysisSet startup, So it supports all the CATISamAnalysisSet behavior.

From this interface, you can retrieve:

[Top]

The Meshing Model Connectivity's

The following reference article shows the ways the connectivity's are provided by the meshing model. It defines the way to scan faces, edges and nodes of the elements.

[Top]

Integrating the Meshing Inside the Field Model

The CATMSHNode and CATMSHElement are represented inside the field model as Explicit Entities. The entity for CATMSHNode has a physical type NODE. For CATMSHElement, the physical type is defined as ELEMENT_"Elementtype"_Dimension_Geometry. This offers the capability to complete the geometrical information by adding some physical data and to make a distinction between a physical BAR (ELEMENT_BAR_3D_BAR2) and a BEAM (ELEMENT_BEAM_3D_BAR2) defined on the same BAR connectivity. For programming facilities, the specific classes CATAnalysisExplicitNode and CATAnalysisExplicitElement may be used.

For example, a large number of the connections defined for the Structural Assembly application are for a meshing point of view multi-nodes elements defined with a SPIDER connectivity. For the field model, the physic types of the elements can be:

All the preprocessing data are applied to this explicit entities.

[Top]

From Features to Field Model Generation

The interfaces for this are CATISamExplicit and CATISamExplicitation.

According to the figure presenting the analysis features:

General Update scheme.

The following graph show how the analysis features are plug together in order to have a convenient update behavior.

According to this graph, if you need to generate the finite element model associated to the specifications, use the update of the Analysis Case object, this will launch the build of the mesh (by calling the messing algorithm), then the build of all the preprocessing data by using the CATISamExplicitation implementation of each preprocessing data. The Update of a solution set will first Update the Case, then launch the build of the Solution Set.

 

[Top]

Example for Existing Preprocessing Set and Entities

 

This preprocessing feature applies a momentum on a face of a design "Part". The specifications are made up of a vector definition (Basic Component) called "Moment Vector" (that can be expressed according to a particular axis system) and a face support (that can be a multi-selection of B-rep elements of the Part).

This feature implements the CATISamEntityVisu interface in order to display the 3D representation at the right location (highlighted on the face).

The CATISamExplicitation interface will generate in the field model a distribution of forces applied onto nodes linked with the support as displayed in the next image

The dump of the field model shows the Load set associated with the LOAD feature, and the Explicit entity that represents a 3D nodal force made up of one explicit characteristic that manages one vector per node on which the force entity is computed by the distribution.

The charac-collector implemented on this feature will retrieve the Physical type “Point force vector” associated with the versions “Local”, “Global” or “None” according to the reference frame in which the vector is expressed and a position “Node” (that is, the only position to express the vectors).

[Top]

Programming with Field Model Objects.

This chapter describes the different ways of designing a field model associated to a preprocessing entity. Typical model is made of an entity, parent of some characteristics and applied on finite element support. Some capabilities can be used to distribute values according to where they are applied. This model structures are used by the preprocessing feature provided by DASSAULT SYSTEMES applications and insure the generation of charac-collectors. If you need to complete the model, you may generate structures that respects those rules.

To understand more, you have to refer to :

ApplyTo ( int iNumber Size of the following arrays.
  const CATSamExplicitPtr* iApplyTo Pointers to the explicit node or element on which the apply is done.
  CATSamPosition iPosition Kind of apply (Ex: Node, Element, face of Element...)
  const int* iPositionNumber Position number. (Ex: if CATSamPosition == CATSamPositionFace, represent the face number).
  const CATSamApplyQualifier* iQualifier ) Additionnal information for the position. (Ex: if CATSamPosition == CATSamPositionFace, specify iQualifier to CATSamApplyQualifierUpper informs that the data is applied on the upper of the face.
SetDefinition( CATSamMathType iMathematicalType The mathematical type of the characteristic.
CATSamValue iValueType The kind of value.
int iMathematicalDimension Methematical dimension (for vector, tensor);
int iRepeat Total number of values to store (in the matematical type).
CATSamValuesDistributionMode iDistributionMode) The way the values will be distributed on the apply (or not: we called the repeated).

Some examples of model definition:

Model Definition

How it will be collected ?
Each node has the same force vector applied on it. This force is defined by a vector expressed in a global reference frame. In this case, the number of values of POINT FORCE is 3.
Each node has the different force vector applied on it. This force is defined by a vector expressed in a global reference frame. n this case, the number of values of POINT FORCE is 6.
Each node has the same force vector applied on it. This force is defined by a vector expressed in one single local reference frame. In this case, the number of values of POINT FORCE is 3.
Each node has the same force vector applied on it. This force is defined by a vector expressed in two different local reference frame. In this case, the number of values of POINT FORCE is 3. the number of values for each of the characteristics of the Local axis is 6.

Note that another way of building the same model is to define the local axis with a distributed mode, and a repeat set to 2. Then, the local axis references to reference frames with standard definition (Repeated mode, and number of repeat set to one).

Each node has the different force vector applied on it. This force is defined by a vector expressed in two different local reference frame. In this case, the number of values of POINT FORCE is 6. the number of values for each of the characteristics of the Local axis is 6.

Note that another way of building the same model is to define the local axis with a distributed mode, and a repeat set to 2. Then, the local axis references to reference frames with standard definition (Repeated mode, and number of repeat set to one).

 

Objective is to assign a temperature distribution at finite elements. In Addition, we want to have a gradient between upper and lower face. Each element receives twice a temperature, (by making twice the apply) and the usage of CATSamApplyQualifier specify witch value is associated to each face of the element.
Objective is to assign a nodal forces at the node of the finite elements. In this case, apply is done on elements. in order to have variable forces for the each elements. The size of values for the force characteristic is the somme of the number of nodes for each elements applied on. This model can be also completed with local axes. Note that:
  • CATSamValuesDistributionModeRepeatedOnVertexOfElements means that values are distributed on each Vertex Nodes of the elements, and repeated on each element.
  • CATSamValuesDistributionModeDistributedOnVertexOfElements means that values are distributed on each vertex node of the elements and on each element.

In this scenario, values are collected at the elements and the position of the charac-collector is NODE_OF_ELEMENT.

 

As other example, to assign the same loading force at a specific same position to all elements of a loading entity:

Characteristic Dimension Repeat Distribution Mode SetValues
NB_POSITIONS 1 1 CATSamValuesDistributionModeRepeated 3
POSITIONS 1 1 CATSamValuesDistributionModeRepeated 0.3   0.5   0.7
FORCE VECTOR 3 1 CATSamValuesDistributionModeRepeatedOnPositions [0  -1  0]

Note that in this case the loading condition is applied on a ONE dimension element, in this case set up the dimension of the position to 1. When using GetPositionUVWCoordinates, only the U will be set Up (consider you are in the local reference frame of the finite element. To do the same on a 2D element set up the dimension of the position characteristic to 2 and enter couple of values as values of POSITIONS. In this case, UV coordinates will be set up.

[Top]

 

Example for Existing Solution Sets

This set is defined as the output set of Cases. All the implementations presented are related to the CATIA-ELFINI © solver. The following example is relevant to Frequency Solution. From a feature view, the set have some parameters and a link to an external file (called external storage) that is of the ELFINI© proprietary format. By implementing the CATICharacCollector interface, this format is translated into the standard Charac-Collector format. The associated field model is made up of an explicit set (with the physical type "MECHANICAL_MODAL") to which are attached the Charac-Collector(s) that the solver can retrieve inside its database or compute dynamically.

[Top]

Implementing New features

For an example of implementation and more details on the methods to implement, see the reference [4].

[Top]


In Short

This document presented some of the high level concepts of CATIA Analysis Interfaces. The other technical articles and the use cases will demonstrate how to use them with concrete scenario.

[Top]


References

[1] Knowledge Modeler Overview
[2] The Physical Types for Structural Analysis
[3] Sample of Export. See the CAAAniSelectPhysics method.
[4] Creating New Analysis Features.
[5] Frequently Asked Questions
[Top]

History

Version: 1 [Mar 2000] Document created
[Top]

Copyright © 2000, Dassault Systèmes. All rights reserved.