Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Complete Update regarding the new Input Config

The Configuration File contains all information necessary for the algorithm to run through the optimisation. It is subdivided into different areas regarding the Geometry, Loads and Constraints, Cases (Events) and optimisation parameterConfiguration, Schedule, Material, Failure Criterion, Event, Boundary Conditions, Design, Geometry, Machining Allowance, Non-Design Spaces and Coordinate System. The file is written in the JSON-file format.

Based on the geometry data (STL-files) and the Configuration File, the algorithm can run fully autonomous and generate saves the result files in one subfolder each time it is started in the main folder.

The configuration file Configuration File starts with the creation timestamp and also indicates the used unit systemgeneral request to perform an optimisation and the Version number for which the configuration file was created.

applicationRequest

OptimizationLoop

Indicates that the regular optimisation loop is executed

automaticFunctionalFacesDetection.positiveNonDesignDirection

true

Functional Surfaces are automatically detected. These areas grow during an optimisation to guarantee sharp edges and functional surfaces after the intersection.

If all functional surfaces have a Machining Allowance applied to them, this option should be deactivated.

Loads and Constraints

The Loads and Constraints section collects all information regarding the loads and fixations applied to the different geometries.

...

boundaryCondition.<name>.geometryName

...

Name of a geometry entry to associate with.

...

boundaryCondition.<name>.coordinateSystem

...

Name of a coordinate system described in the same file, used for describing constraints in local coordinates.

...

boundaryCondition.<name>.load.x

boundaryCondition.<name>.load.y

boundaryCondition.<name>.load.z

...

x-direction of load

y-direction of load

z-direction of load

...

boundaryCondition.<name>.displacement.x

boundaryCondition.<name>.displacement.y

boundaryCondition.<name>.displacement.z

...

x-direction of displacement

y-direction of displacement

z-direction of displacement

...

boundaryCondition.<name>.moment.x

boundaryCondition.<name>.moment.y

boundaryCondition.<name>.moment.z

...

x-direction of moment

y-direction of moment

z-direction of moment

...

boundaryCondition.<name>.acceleration.x

boundaryCondition.<name>.acceleration.y

boundaryCondition.<name>.acceleration.z

...

x-direction of acceleration

y-direction of acceleration

z-direction of acceleration

...

boundaryCondition.<name>.pointOfApplication.x

boundaryCondition.<name>.pointOfApplication.y

boundaryCondition.<name>.pointOfApplication.z

...

x-direction of point of application

y-direction of point of application

z-direction of point of application

...

boundaryCondition.<name>.pointOfApplication.coordinateSystem

...

Coordinate system related to the point of application

...

boundaryCondition.<name>.pressure

...

value of the pressure force

Example

Info

"boundaryCondition": {
".index": 7,
"ModelConstraintEvent_Constraint_1": {
".index": 4,
"displacement": {
".index": 0,
"x": "0",
"y": "0",
"z": "0"
},
"geometryName": "ModelConstraintEvent_Constraint_1"
},
"ModelLoadEvent_Force_-Moment_1_Force": {
".index": 0,
"coordinateSystem": "CoordSystem_Coordinate_System_1",
"geometryName": "ModelLoadEvent_Force-_Moment_1",
"load": {
".index": 0,
"z": "35598"
},
"pointOfApplication": {
".index": 1,
"x": "-0.0740283",
"y": "-0.0128969",
"z": "0.071124"

Configuration

configuration.symmetry.x

configuration.symmetry.y

configuration.symmetry.z

x-axis as symmetry plane (Y-Z-Plane).

y-axis as symmetry plane (X-Z-Plane).

z-axis as symmetry plane (X-Y-Plane).

configuration.symmetry.coordinateSystem

If the symmetry is to refer to a local coordinate system, the following command must also be entered (Coordinate_system_1 is the name of the local coordinate system and can vary).

configuration.maxConcurrentGPUSolvers

Maximum number of GPUs used by the optimisation (support GPUs: Nvidia Quadro Graphics Cards supported by CUDA Driver)

configuration.buildSpace

engine_version

2021.2

Indicates the version number with which the configuration file was created

Configuration

The Configuration section defines the Design Space and general optimization parameters.

configuration.offsetSpace

Geometry used for the intersection with the Design Space to receive the

nominal

print geometry

configuration.

offsetSpace

buildSpace

Geometry used for the intersection with the Design Space to receive the

print

nominal geometry

configuration.

unitSystemUsed unit system

complexity

Defines how complex the design is getting. More information here.

configuration.eigenThreads

Number of CPU threads that can be used to build the matrix. At least two cores should always remain free. We recommend using 2-6 threads.

configuration.

complexityDefines how complex the design is getting. More information here.

maxConcurrentGPUSolvers

Maximum number of GPUs used by the optimisation (support GPUs: Nvidia Quadro Graphics Cards supported by CUDA Driver)

configuration.solver.<name>.strategy

InternalCPU: CPU based solver

ExternLegacy: External (GPU) solver

configuration.solver.<name>.host

IP of the external solver, localhost for the same workstation. IP for cloud, for what the matrix is built locally and sent to the calculation unit. Large amounts of data can be moved with a corresponding amount of time.

configuration.solver.<name>.port

Port which is used to access the CudaSolver. This can be selected arbitrarily, according to the specified value when starting the solver. (The default port for the Cuda service is 42001).

Example

Info

"configuration": {
".index": 9,
"buildSpace": "DesignSpace_machiningCut",
"complexity": "14",
"eigenThreads": "4",
"offsetSpace": "DesignSpace_machiningOffset",
"remesher": {
".index": 1,
"designCandidateRemesher": {
".index": 0,
"enabled": "true"
},
"voxelIntersectionRemesher": {
".index": 1,
"enabled": "true"
}
},
"solver": {
".index": 0,
"solver1": {
".index": 0,
"host": "localhost",
"port": "42004",
"strategy": "ExternLegacy"
}
},
"unitSystem": "SI_K"

Coordinate System

...

coordinateSystem.<name>.alpha

coordinateSystem.<name>.beta

coordinateSystem.<name>.gamma

...

The coordinate system is located/orientated with coordinate values and Euler angles regarding the global coordinate system.

...

coordinateSystem.<name>.origin.x

coordinateSystem.<name>.origin.y

coordinateSystem.<name>.origin.z

...

The coordinate system has a point of origin.

...

coordinateSystem.<name>.base

...

Each coordinate system is given a unique name Coordinate_System_1

Example

Info

"coordinateSystem": {
".index": 6,
"CoordSystem_CSYS.0": {
".index": 0,
"alpha": "0",
"beta": "0",
"gamma": "0",
"origin": {
".index": 0,
"x": "0",
"y": "0",
"z": "0"

Design

...

design.<name>.geometryName

...

Definition of the Design Space.

...

design.<name>.materialName

...

Definition of material for the Design Space.

Example

Info

"design": {
".index": 3,
"DesignSpace_machiningCut": {
".index": 0,
"geometryName": "DesignSpace_machiningCut",
"materialName": "TiAl6V4"

Engine Version

Info

"engine_version": "2021.2",

Event

...

event.<name>.eventName

...

Specified name of the event.

...

event.<name>.safetyFactor

...

Event specific Safety Factor

Example

Info

"event": {
".index": 8,
"Event_1": {
".index": 0,
"condition": {
".index": 0,
"ModelConstraintEvent_Constraint_1": {
".index": 1
},
"ModelLoadEvent_Force_-_Moment_1_Force": {
".index": 0
}
},
"safetyFactor": "2"

...

configuration.symmetry.x

configuration.symmetry.y

configuration.symmetry.z

x-axis as symmetry plane (Y-Z-Plane)

y-axis as symmetry plane (X-Z-Plane)

z-axis as symmetry plane (X-Y-Plane)

configuration.symmetry.coordinateSystem

If the symmetry is to refer to a local coordinate system, the following command must also be entered (Coordinate_system_1 is the name of the local coordinate system and can vary)

automaticFunctionalFacesDetection.positiveNonDesignDirection=true

false

Functional Surfaces are automatically detected. These areas grow during an optimisation to guarantee sharp edges and functional surfaces after the intersection.

If all functional surfaces have a Machining Allowance applied to them, this option should be deactivated.

configuration.unitSystem

Used unit system

Schedule

The schedule section contains the information regarding the levels and iterations during the optimisation.

schedule.prefabricated.shapeQuality

schedule.prefabricated.strutDensity

You can influence these values further using the Advanced User Settings and the commands listed here.

Material

The Material section includes all relevant information regarding the material used during the optimisation. Three different material types can be entered.

material.<name>.failureCriterionName

Name of the Failure Criterion

material.<name>.coordinateSystem

Coordinate system related to the material

material.<name>.density

Material density

material.<name>.material

Material name

Isotropic Material

material.<name>.elementMode

Name of an element type

material.<name>.young

Young’s modulus

material.<name>.poisson

Poisson ratio

3D Transversely Isotropic Material

material.<name>.elementMode

Specified material name

material.<name>.exx

material.<name>.eyy

Axial Young’s Modulus x

Transversal Young’s modulus yz

material.<name>.gxy

Shear modulus of parallel planes.

material.<name>.vxy

material.<name>.vyz

Axial Poisson ratio

Transversal Poisson ratio

3D Orthotropic Material

material.<name>.elementMode

Specified material name

material.<name>.exx

material.<name>.eyy

material.<name>.ezz

Young’s modulus x

Young’s modulus y

Young’s modulus z

material.<name>.gxy

material.<name>.gxz

material.<name>.gyz

Shear modulus of xy plane

Shear modulus of xz plane

Shear modulus of yz plane

material.<name>.vxy

material.<name>.vyx

material.<name>.vxz

material.<name>.vzx

material.<name>.vyz

material.<name>.vzy

xy component of Poisson ratio tensor

yx component of Poisson ratio tensor

xz component of Poisson ratio tensor

zx component of Poisson ratio tensor

yz component of Poisson ratio tensor

zy component of Poisson ratio tensor

Failure Criterion

The Failure Criterion section contains all information regarding the goal of the optimisation.

Von Mises

failureCriterion.<name>.failureCriterion

Specified name of the Failure Criterion

.

failureCriterion.<name>.tensileStrength

Tensile Strength of the material

Example von Mises

...

...

Tsai Hill Failure Criterion

Failure Criterion for directional dependent Stress Goals (max. allowable Stress)

failureCriterion.<name>.failureCriterion

Specified name of the Failure Criterion.

failureCriterion.<name>.x_t

Axial Tensile Strength

failureCriterion.<name>.y_t

Transversal Tensile Strength

failureCriterion.<name>.x_c

Axial Compression Strength (3D Orthotropic Material)

failureCriterion.<name>.y_c

Transversal Compression Strength (3D Orthotropic Material)

failureCriterion.<name>.s

Shear Strength

Example Tsai Hill

...

Tsai Wu Failure CriterionTsai Wu Failure Criterion

Failure Criterion for directional dependent Stress Goals (max. allowable Stress)

failureCriterion.<name>.failureCriterion

Specified name of the Failure Criterion

.

failureCriterion.<name>.x_t

Tensile Strength x

failureCriterion.<name>.y_t

Tensile Strength y

failureCriterion.<name>.

z_t

Tensile Strength z (3D Orthotropic Material)

failureCriterion.<name>.

x_c

Compression Strength x

failureCriterion.<name>.y_c

Compression Strength y

failureCriterion.<name>.z_c

Compression Strength z (3D Orthotropic Material)

failureCriterion.<name>.s_xy

Shear Strength in XY

failureCriterion.<name>.s_yz

Shear Strength in YZ (3D Orthotropic Material)

failureCriterion.<name>.s_zx

Shear Strength in ZX (3D Orthotropic Material)

Example Tsai Wu

...

Geometry

In the Geometry section, all geometries and their paths are defined. For each geometry used in the optimisation an STL-file needs to be available in the optimisation folder.

...

geometry.<name>.isOpenSurface

geometry.<name>.useSurfaceOnly

geometry.<name>.useSurfaceCentroid

...

Indicates that the geometry is a surface and not a volume.

...

geometry.<name>.path

...

Path to the geometry file

Example

Info

"geometry": {
".index": 2,
"DesignSpace_machiningCut": {
".index": 0,
"path": "DesignSpace_machiningCut.stl"

Machining Allowance

The Machining Allowances section collects all information regarding the Machining Allowances and the Design Space including the Machining Allowances to guarantee a correct intersection.

...

machiningOffset.<name>.geometryName

...

Specified name of the Machining Allowance reference geometry.

...

machiningOffset.<name>.offset

...

Defines the thickness of the Machining Allowance in the chosen unit.

Example

Info

"machiningOffset": {
".index": 5,
"machOffset_MachiningAllowance_Machining_Allowance_1": {
".index": 0,
"geometryName": "MachiningAllowance_Machining_Allowance_1",
"offset": "0.001"

In the Geometry section, all geometries and their paths are defined. For each geometry used in the optimisation an STL-file needs to be saved in the optimisation folder.

Material

...

material.<name>.failureCriterionName

...

Name of the Failure Criterion

...

material.<name>.density

...

Material density

...

material.<name>.coordinateSystem

...

Coordinate system related to the material

Isotropic Material

...

material.<name>.elementMode

...

Specified material name

...

material.<name>.young

...

Young’s modulus

...

material.<name>.poisson

...

Poisson ratio

Example Isotropic Material

Info

"material": {
".index": 0,
"TiAl6V4": {
".index": 0,
"density": "4481.87",
"elementMode": "Isotropic",
"failureCriterionName": "Von_Mises",
"material": "",
"poisson": "0.26",
"young": "1.15617e+11"

3D Transversely Isotropic Material

...

material.<name>.elementMode

...

Specified material name

...

material.<name>.exx

material.<name>.eyy

...

Axial Young’s Modulus x

Transversal Young’s modulus yz

...

material.<name>.gxy

...

Shear modulus of parallel planes.

...

material.<name>.vxy

material.<name>.vyz

...

Axial Poisson ratio

Transversal Poisson ratio

Example 3D Transversely Isotropic Material

Info

"material": {
".index": 0,
"TiAl6V4": {
".index": 0,
"density": "4481.87",
"elementMode": "Isotropic",
"failureCriterionName": "Von_Mises",
"material": "",
"poisson": "0.26",
"young": "1.15617e+11"

3D Orthotropic Material

...

material.<name>.elementMode

...

Specified material name

...

material.<name>.exx

material.<name>.eyy

material.<name>.ezz

...

Young’s modulus x

Young’s modulus y

Young’s modulus z

...

material.<name>.gxy

material.<name>.gxz

material.<name>.gyz

...

Shear modulus of xy plane

Shear modulus of xz plane

Shear modulus of yz plane

...

material.<name>.vxy

material.<name>.vyx

material.<name>.vxz

material.<name>.vzx

material.<name>.vyz

material.<name>.vzy

...

xy component of Poisson ratio tensor

yx component of Poisson ratio tensor

xz component of Poisson ratio tensor

zx component of Poisson ratio tensor

yz component of Poisson ratio tensor

zy component of Poisson ratio tensor

Example 3D Orthotropic Material

Info

"material": {
".index": 0,
"TiAl6V4": {
".index": 0,
"density": "4481.87",
"elementMode": "Isotropic",
"failureCriterionName": "Von_Mises",
"material": "",
"poisson": "0.26",
"young": "1.15617e+11"

...

Event

The Event section sorts all Loads & Boundary Conditions to load cases and also defines the goal for each load case during the optimisation.

event.<name>.eventName

Specified name of the event

event.<name>.safetyFactor

Event specific Safety Factor

event.<name>.condition.<name>

Collection of boundary conditions considered for this event

Boundary Conditions

The Boundary Conditions section contains all information regarding the different loads and constraints.

boundaryCondition.<name>.geometryName

Name of a geometry entry to associate with.

boundaryCondition.<name>.coordinateSystem

Name of a coordinate system described in the same file, used for describing constraints in local coordinates

boundaryCondition.<name>.load.x

boundaryCondition.<name>.load.y

boundaryCondition.<name>.load.z

x-direction of load

y-direction of load

z-direction of load

boundaryCondition.<name>.displacement.x

boundaryCondition.<name>.displacement.y

boundaryCondition.<name>.displacement.z

x-direction of displacement

y-direction of displacement

z-direction of displacement

boundaryCondition.<name>.moment.x

boundaryCondition.<name>.moment.y

boundaryCondition.<name>.moment.z

x-direction of moment

y-direction of moment

z-direction of moment

boundaryCondition.<name>.acceleration.x

boundaryCondition.<name>.acceleration.y

boundaryCondition.<name>.acceleration.z

x-direction of acceleration

y-direction of acceleration

z-direction of acceleration

boundaryCondition.<name>.pointOfApplication.x

boundaryCondition.<name>.pointOfApplication.y

boundaryCondition.<name>.pointOfApplication.z

x-direction of point of application

y-direction of point of application

z-direction of point of application

boundaryCondition.<name>.pointOfApplication.coordinateSystem

Coordinate system related to the point of application

boundaryCondition.<name>.pressure

value of the pressure force

Design

The Design section defines the geometry for the Design Space and connects this with the defined Material.

design.<name>.geometryName

Definition of the Design Space.

design.<name>.materialName

Definition of material for the Design Space.

Geometry

In the Geometry section, all geometries and their paths are defined. For each geometry used in the optimisation an STL-file needs to be available in the optimisation folder.

geometry.<name>.isOpenSurface

geometry.<name>.useSurfaceOnly

geometry.<name>.useSurfaceCentroid

Indicates that the geometry is a surface and not a volume

geometry.<name>.path

Path to the geometry file

Machining Allowance

The Machining Allowances section collects all information regarding the Machining Allowances.

machiningOffset.<name>.geometryName

Specified name of the Machining Allowance reference geometry

machiningOffset.<name>.offset

Defines the thickness of the Machining Allowance in the chosen unit

Non-Design Spaces

The Non-Design Spaces section defines the preserve behaviour of specific regions and includes the information regarding retained Volumes.

nonDesign.<name>.geometryName

Specified geometry name

nonDesign.<name>.preserveGeometry

The volume cannot be removed during the optimisation and will keep a connection to the rest of the design

.

nonDesign.<name>.retainedVolume

A Retained Volumes specifies an area of the optimisation model which is included in the analysis but not in the design.

Example

Info

"nonDesign": {
".index": 4,
"MachiningAllowance_Machining_Allowance_1": {
".index": 11,
"geometryName": "MachiningAllowance_Machining_Allowance_1"

Schedule

Example

...

Coordinate System

In the Coordinate System section all used coordinate systems are listed and defined.

coordinateSystem.<name>.alpha

coordinateSystem.<name>.beta

coordinateSystem.<name>.gamma

The coordinate system is located/orientated with coordinate values and Euler angles regarding the global coordinate system.

coordinateSystem.<name>.origin.x

coordinateSystem.<name>.origin.y

coordinateSystem.<name>.origin.z

The coordinate system has a point of origin.

Advanced User Settings

Have a look here for more information and commands that can be used.