| CChainManager< ModuleType > | Template generalized ChainManager. It stores pointers to the modules and runs their exec-function on request. It can store different chains that can be run via passing the name of the chain to the runChain function or specific modules within a chain can be specified via the runSingleModuleInChain function |
| CChainManager< GenericManagingModule< double > > | |
| CChainManager< GenericSubmodule< T > > | |
| CCsvParser | This class parses csv files. Parses the files as a vector of vectors of type double where each row in the file is one vector. It parses ONLY the values and not any text or comments within the file |
| CElementManager< T > | Class that manages the building of the global capacitance and stiffness matrix and forcing vector from the element wise matrices |
| CElementProperties< T > | Struct carrying the element properties that are needed to create the different element types. Will be expanded when new element types and higher dimensions are added |
| ▼Cstd::exception | |
| CBadInput | This error class inherits from std::exception and marks faulty parameter or CL inputs. Very rudimentary error class to be thrown in the case of faulty/erroneous user input |
| CDependencyError< ModuleType > | Error class to throw when a module chain has circular or missing dependencies. Inherits from std::exception |
| CMatrixOutOfBoundsError | Error class to throw when the matrix is accessed out of bounds. Inherits from std::exception |
| ▼CGenericBoundaryCondition< T > | Boundary condition abstract base class for the finite element method. All boundary condition implementations should inherit from this class |
| CBCConstantHeatFlux< T > | Concrete implementation of a constant heat flux boundary condition in 1D |
| CBCSinusoidalTemperature< T > | Concrete implementation of a sinusoidally varying temperature boundary condition in 1D |
| CBCTopSurfaceEnergyBalance< T > | Concrete implementation of a surface-energy-balance boundary condition in 1D |
| ▼CGenericElement< T > | Cell/Element abstract base class for the finite element method. All 1D/2D/3D elements should inherit from this class |
| COneDimLinearElement< T > | Concrete Implementation of a 1D linear (line) element for the FEM |
| ▼CGenericManagingModule< T > | Abstract base class for the managing modules. Managing modules are the highest tier of modules and are always run directly from the main loop. They can create a field and directly alter values within the simulation class . They can have an arbitrary number of submodules that they can execute themself when called. Each managing module can do different things during different times in the code managed via the chain insertion points and the corresponding functions in this class (Note: The internal "module_field" variable and the field they create in the sim class is NOT synced. You have to manually update the fields.) |
| CAlbedo< T > | Managing module that calculates and manages surface albedo |
| CDensity< T > | Managing module that calculates bulk density based on submodules |
| CEmissivity< T > | Managing module that calculates emissivity based on submodules |
| CFluxSmoothingTool< T > | Managing module that adaptively reduces the timestep to limit excessive temperature changes |
| CHeatCapacity< T > | Managing module that calculates heat capacity based on submodules |
| CHeatConductivity< T > | |
| CHeatSource< T > | |
| CHeliocentricDistance< T > | |
| COutputCsvTool< T > | Saves specified simulation field data into CSV files |
| CRuntimeProgressTool< T > | Monitors and reports the simulation progress and iterations per second |
| CSolarFlux< T > | |
| CSolarVector< T > | |
| CTemperatureSaverIterationsTool< T > | Helper module to store the updated temperature from the last inner iteration |
| ▼CGenericMatrix< T > | Template generalized Matrix object that should be the base for all further implementations of a matrix class. Only provides the most basic functionality and contains mainly pure virtual functions |
| CCsrSparseMatrix< T > | Concrete implementation of a matrix class representing a Compressed Sparse Rows (CSR) matrix. This class provides basic element-wise arithmetic operations and access functionality. It also includes a build-up feature that allows elements to be registered using the Coordinate (COO) format prior to finalization. Note: Adding elements after the initial build-up is not supported, as it is inefficient and unnecessary for static mesh use cases |
| CDenseMatrix< T > | Concrete implemenatation of a matrix class representing a dense matrix. Offers basic access and element wise arithmetic functionality and mathematical matrix product |
| ▼CGenericSubmodule< T > | Abstract base class for the submodules. Submodules are below managing modules and will only be run by them, not directly from the sim class. They can neither create fields (only access the local fields of their managing modules) nor alter elements in the sim class (they only posses a pointer to const). They can however also have an arbitrary number of submodules that they can execute themself when called. Their structure is otherwise a direct mirror of the managing modules |
| CAlbedoConstantCustom< T > | Submodule that assigns a constant albedo value |
| CDensityConstantCustom< T > | Submodule that assigns a constant bulk density |
| CDensityConstantGundlach2013RegolithSolidAsteroidType< T > | Submodule calculating asteroid bulk density using type-specific constants |
| CEmissivityConstantCustom< T > | Submodule for constant emissivity |
| CHeatCapacityConstantCustom< T > | Submodule that provides a user-supplied constant heat capacity |
| CHeatCapacityConstantOpeil2010NonPorousRockSolidAsteroidType< T > | |
| CHeatCapacityVariableCustomPolynomial< T > | Submodule that provides a user-supplied constant heat capacity |
| CHeatConductivityConstantCustom< T > | |
| CHeatConductivityConstantMaxwell1873PorousRockSolid< T > | |
| CHeatConductivityTwoLayers< T > | |
| CHeatConductivityVariableGundlach2013NonPorousRockSolidAsteroidType< T > | |
| CHeatConductivityVariableGundlach2013RegolithSolid< T > | |
| CHeatConductivityVariableKiradjiev2019PorousRockSolidRadiation< T > | |
| CHeatSourceConstantCustom< T > | |
| CHeliocentricDistanceConstantCustom< T > | |
| CSolarFluxVariableCustomSinusoidal< T > | |
| CSolarVectorConstantCustom< T > | |
| ▼CGridBase< T > | |
| CGridOneDim< T > | Concrete implementation of a 1D grid on each facet of a 3D shape model (hereafter: pseudo 3D) |
| CGridFactory< T > | Class that manages the creation of the GridBase object |
| CIniParser | This class parses ini files. Currently supported are only the following data types: string/char, int, double, bool |
| CIniParserSnapshot | This class parses ini files from a snapshot file. Currently supported are only the following data types: string/char, int, double, bool. While it does have a fair bit of duplicate code from IniParser, it carries a different datatype and needs other handling, thus making it incompatible |
| CInputManager | This class that manages parameter input through the default ini and user supplied ini files + CLI. Parses the supplied data into strings, ints, doubles and bools and makes them accessable through getter-functions |
| CMatrixFactory< T > | Class that creates empty matrix objects of the specified type |
| CMatrixManager< T > | Class that manages the assembly of the global linear system of equations to be passed to the solver |
| CModuleFactory< T > | Class to register and generate every module compiled into the executable. Has static auto-registry functionality, but still requires the modules to be forward-declared in the corresponding .cpp file, for they are templates and would not be instantiated by the compiler, if not declared there :/ |
| ▼Cstd::runtime_error | |
| CStaticSparseMatrixAccessError | Error class to be thrown when a zero element is tried to be accessed as a reference |
| CShapeBase< T > | Managing class for all types of meshes. Provides the interface to all the needed data when working with a mesh in a pseudo 3D case |
| CShapeFactory< T > | Class that manages the creation of the ShapeBase object, which is used by GridFactory. Supports loading of shape models from files through VTK, if it is installed |
| ▼CSimulationClassBase< T > | |
| CSimulationClassDefault< T > | |
| CSimulationClassUnitTesting< T > | |
| CSnapshotCreator< T > | Class which creates MoCSI snapshot files. Saves all the specified fields from m_save_fields and all the ini data within the modules and the simulation config |
| CSnapshotLoader< T > | Class which loads snapshot files and writes their data to the inis and fields. Loads any file created with the SnapshotCreator which has "MoCSI_snapshot" as part of its file name. Offers the option to not load simulation config and/or module ini file data |
| ▼CSolverInterface< T > | |
| CTridiagonalMatrixSolver< T > | Implementation of the Tridiagonal Matrix Algorithm (TDMA) to solve 1D cases |