MoCSI API Reference
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 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 > >
 CCsvParserThis 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
 CBadInputThis 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
 CMatrixOutOfBoundsErrorError 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 >
 CHeatConductivityConstantCustom< T >
 CHeatConductivityConstantMaxwell1873PorousRockSolid< T >
 CHeatConductivityTwoLayers< T >
 CHeatConductivityVariableGundlach2013NonPorousRockSolidAsteroidType< T >
 CHeatConductivityVariableGundlach2013RegolithSolid< 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
 CIniParserThis class parses ini files. Currently supported are only the following data types: string/char, int, double, bool
 CIniParserSnapshotThis 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
 CInputManagerThis 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
 CStaticSparseMatrixAccessErrorError 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