Using shapemodels¶
MoCSI supports the usage of shapemodels, which are internally handeled using VTK. We currently support the following shapemodel formats: .ply, .vtp, .obj, .stl, .vtk and .g.
To use your shapemodel in the code, you can either select a configuration example that already has shapemodel usage enabled (see Profiles overview) or you have to manually modify your name_of_simulation.ini (see Quickstart). The name_of_simulation.ini is the ini-file that overwrites the simulation parameters set by default.ini and whose path needs to be set to start the simulation.
To use your shapemodel you have to set the following parameters in your name_of_simulation.ini:
# Shape model
use_shape_file = true # Set to true to load a shape file for the simulation.
# When false, the model runs as a simple uniform 1D domain.
shape_model_path = "/path/to/your/shapemodel.ply" # Path to the shape file to load (VTK-compatible mesh files: .ply, .vtp, .obj, .stl, .vtk, .g).
# Ignored if use_shape_file = false.
Typically, you want to use a shapemodel to account for self-heating and scattered light (radiosity). For this the corresponding SolarFlux module, namely SolarFluxVariablePotter2023Radiosity needs to be used. To do so, you need to add the following modules to your name_of_simulation.ini:
managing_modules = "Density", "HeatCapacity", "HeatConductivity", "HeatSource", "Emissivity", "Albedo", "HeliocentricDistance", "SolarVector", "SolarFlux", "TemperatureSaverIterationsTool", "RuntimeProgressTool", "OutputCsvTool"
The SolarFlux.ini should look like this:
chain_insertion = "InitChain", "PreTimeStepChain" # The Module Insertion Points in which this managing module should be loaded.
submodules = "SolarFluxVariablePotter2023Radiosity" # The submodules to be loaded beneath this module. If there are none, use "None".
dependencies = "Emissivity", "Albedo", "HeliocentricDistance", "SolarVector" # The modules dependencies, if there are any.