mathematical construction of scalars and vectors
Construct statements offer the possibility to automatically construct quantities based on previously read in boundary elements for GeometryManipulations like offset{, scale{, rotate{ .
The construct statements are evaluated sequentially in the startup phase together with the reading of the geometry files and this evaluation is depending on the order. A typical order can be: read in a subset of files, establish a sequence of the ConstructClause items, and apply the results of the ConstructClause items in a subsequent read-of-file.
A construct statement may look as follows:
If the construct result is to be used at several occasions, it is worthwhile putting it into a construct environment:
It can then be referenced by the name given on the left hand side in the same way as an ALIAS. See also Variables.
begin_boundary_elements{ and begin_construct{ blocks are read sequentially. All geometry parts used in a construct statement must be defined beforehand.
The begin_construct{ environment is only evaluated at regular startup, not if a restart is performed. Hence, for construct results that are supposed to be computed during restart, use
These are not read during normal initialization. Thus, to update values, you need to use both.
In addition, any RightHandSideExpression can be used to save the result of a calculation during the initialization phase into an alias, for example to create new boundary elements from scratch after reading in other geometry.
Example 2: Using construct to define aliasesbegin_boundary_elements{ and begin_construct{ blocks are read sequentially. All geometry parts used in a construct statement need to be defined beforehand. Values that are saved into an alias stay constant throughout the simulation, irrespective of for example geometry movements.
By default, CONSTRUCT-aliases are not recomputed on RESTART. If recomputation is desired, the begin_construct_atRestart{-functionality has to be used.
Whenever there is a construction based on an alias list, "alias1", "alias2", also wildcards can be used. For example, "alias*" would then already match "alias1", "alias2", ... .
List of members: | |
---|---|
%CONSTRUCT_Area% | area of given alias-entities |
%CONSTRUCT_BoxMax% | maximum of enclosing box around given alias-entities |
%CONSTRUCT_BoxMidPoint% | mid point of enclosing box around given alias-entities |
%CONSTRUCT_BoxMin% | minimum of enclosing box around given alias-entities |
%CONSTRUCT_COG% | center of gravity for given alias-entities |
%CONSTRUCT_EstablishCurveVolumeVersusHeight% | establish a 2-row-curve that provides the height-volume-relation of a closed part of geometry |
%CONSTRUCT_Normal% | normal with respect to given alias-entities |
%CONSTRUCT_NormalDividedByArea% | area-averaged normal with respect to given alias-entities |
%CONSTRUCT_PointBasedOnAbsoluteVolume% | Computes a point that defines a given volume inside a closed structure |
%CONSTRUCT_PointBasedOnRelativeVolume% | compute a point that defines a given volume inside a closed structure |
%CONSTRUCT_Tangent1% | first tangent with respect to given normal vector and alias-entities |
%CONSTRUCT_Tangent2% | second tangent with respect to given normal vector and alias-entities |
%CONSTRUCT_Volume% | volume of a (necessarily) closed geometrical part |
%CONSTRUCT_VolumeForGivenHeight% | compute the volume of a closed body restricted by a certain height |
%CONVERT_TO_INTEGER% | convert a set of construct variables to integer |