The configuration file contains all information necessary for the algorithm to run through the optimizationoptimisation. It is subdivided into seven different areas: Geometry, Loads and Constraints, Cases (Events), OptimizationOptimisation, FEMConfig, ImportConfig and Advanced User Settings.
Based on the geometry data and the .config file, the algorithm can run fully autonomous and generate the result files in one subfolder each time it is started in the main folder.
The configuartion configuration file starts with the creation timestamp and also indicates the used unit system.
...
In the Geometry section, the different roles of the geometries for the optimzation optimisation are defined. For each geometry used in the optimization optimisation (stl file), either a space or a cell must be existing. A space can get additional information regarding the material whereas cells are only used as markers to define certain areas of the space.
...
Space | |
Space Spacename | Each object is given a unique name Spacename. |
.path = Design.stl | The path is the name of the file. |
.material = Steel | User-defined material name. This will not be used any further in the optimization optimisation process. |
.E-Modul = 210000.000000 | Young's Modulus according to the unit scheme used (here MPa). |
.Poisson = 0.33 | Poisson 's ratio. |
.density = 7.9e-9 | Density of the material. |
Cells | |
Mask Maskname | Each object is given a unique name Maskname. |
.path = Non_Design_Region_1.stl | The path is the name of the file. |
Mask.Non_Design_Region_3.nonDesign | Defines the mask as a Non-Design Region |
Mask.Non_Design_Region_3.useCentreOfTheSurface Mask.Non_Design_Region_3.useOnlySurface | The mask represents a surface. |
Mask.Non_Design_Region_3.preserve | The mask cannot be removed during the optimization optimisation and will keep a connection to the |
Local Coordinate Systems | |
CoordinateSystem Coordinate_System_1 | Each coordinate system is given a unique name Coordinate_System_1 |
.euler1z =0.000000 .euler2x = 2.417309 .euler3z = 4.712389 .x = -0.071360 .y = -0.022816 .z = 0.02185 | The coordinate system is located/orientated with coordinate values and euler Euler angles regarding the global coordinate system. |
...
Load Force_-_Moment_1 | A force is marked with the word "Load" and additionally gets a name. |
Moment Force_-_Moment_2 | A moment is marked with the word "Moment" and additionally gets a name. |
Acceleration Apply_gravity_1 .space = | An acceleration is marked with the word "Acceleration" and additionally gets a name. The acceleration is always applied to the whole Design spaceSpace. |
Pressure Pressure_1 | A pressure load is marked with the word "Pressure" and additionally gets a name. |
Displacement Constraint_1 | A fixation is marked with the word "Displacement" and additionally gets a name (dis1). For fixations, the degree of freedom (x, y, z) is subsequently defined by a prescribed displacment displacement of 0. |
.mask = Maskname | The mask affected by the boundary condition (Maskname) is selected |
.x = | Boundary condition in x-direction |
.y = | Boundary condition in y-direction. |
.z = | Boundary condition in z-direction. |
...
Case Event_1.Force_-_Moment1 Case Event_1.Constraint_1 | The Event is marked with the word "Case" and additionally gets a name. The conditions are listed directly after the name distinguished by “.” |
...
optimisation
In this section the optimization optimisation parameters are entered.
optimizeSpace = | Definition of the design spaceDesign Space. |
startSpace = | If you have added a Startspace Start Space via the Advanced User Settings you can find it here. |
strutDensity = dense medium sparse | Determine the style of the result structure. More information here |
shapeQuality = preview balanced fineTune | Selection of the number of iterations being calculated. More information here |
Optimizer Global target stress = | Global optimization stress goaloptimisation Stress Goal |
Optimizer Case Event_1 target stress = | Event specific stress constraint Stress Goal for specific Event (Event_1) |
...
solver= Extern CG | Connection to the solver. External CudaSolver. CG Uses an integrated conjugated gradient solver. |
solverIP=localhost | 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. |
solverPort=123442001 | 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) |
eigenThreads=24 | Number of CPU threads that can be used to build the matrix. At least two cores should always remain free. We recommend to use 2-6 threads. |
complexity=14.000000 | Defines how complex the design is getting. More information here. |
solverUsedGpuMax=n | Maximum number of GPUs used by the optimization optimisation (support GPUs: Nvidia Quadro Graphics Cards supported by CUDA Driver) |
...
detail=auto | Detail refers to the edge length of the FEM elements and can either be calculated automatically depending on the "complexityComplexity" or set manually. In the case of a defective stl ST-file, the detail should be set manually, since the calculation of the volume has an error and the automatic estimation cannot take place. A reduction of the detail by half results in an 8-times change of the calculation time. |
...
Default export settings | |||
export_ply_name_binary_Dis | |||
export_ply_name_binary_Stress | |||
export_allCasesInSingleFile | Generates file containing stress and displacement, if activated (combined file for all Events) | ||
export_stl_name_MC_Smooth | Result geometry | ||
Additional export options: Stresses | |||
export_ply_name_Stress_RGB | Stresses: ply in colorcolour | ||
export_ply_name_Stress | Stresses: ply values for nodes | ||
export_ply_name_binary_Stress | Stresses: ply values for nodes in binaray binary format | ||
export_mrc_name_Stress | Stresses: mrc values for nodes | export_ply_name_Stress_Prop | Stresses: ply values for facets |
export_CSV_Element_StressAndDis | Save csv File stress and Displacement (each for loadcase) | ||
Additional export options: Displacements | |||
export_ply_name_Dis_RGB | Displacements: ply in colour | ||
export_ply_name_Dis | Displacements: ply values for nodes | ||
export_ply_name_binary_Dis | Displacements: ply values for nodes in binaray binary format | ||
export_ply_name_Dis_Prop | Displacements: ply values for facets | ||
Additional export options: Result Geometry | |||
csv_Boundary_Reaction csv_Boundary_Reaction_all | suit of csv files for knots loads and reaction visualization | ||
noIntersection | smoothed not intersected geometry is written out |
...
Using the expert settings, you can change the resolution and switch between the individual resolution levels to influence the result. These settings overwrite the selection of the DesignType (normaldense, filigreemedium, massivesparse), as they are only default settings for the ones described here. These should not be accessible via standard GUI, but maybe with an additional text editor inside the GUI.
...
Influencing the design | |
UpSampleConfig fOptimizer_switchAddRemove=58 | Starting with iteration 58, elements are either added or removed and only every second iteration is saved. This is important for the iterations near to the end of the optimizationoptimisation. |
iteration .level_3=20" .level_2=20" .level_1=20" .level_0=10" | Specify how many iterations are calculated at which resolution level. Note that convergence should be achieved at each level. Default settings normal: 20, 20, 20, 10 Default settings massive: 16, 40, 4, 4 Default settings filigree: 10, 10, 40, 10 |
fOptimizer_stressPercentGoal .level_3=30 .level_2=40 .level_1=90 .level_0=100 | The percentage at which the target stress is reached is set. Default settings normal: 30, 40, 90, 100 Default settings massive: 60, 90, 95, 100 Default settings filigree: 10, 25, 50, 100 |
Symmetry Settings This is an unsupported feature in MSC Apex Generative Design 2020 FP1. Please find more information here. | |
symmetry.x symmetry.y 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). |
...