Class ThermalModel
- Namespace
- NominalSystems.Universe
- Assembly
- NominalSystems.Universe.dll
[Nominal] A thermal model can be added to any universe object which is able to manage the thermal data of a particular object. This will enable thermal CSV lookups or standard Thermal models.
public class ThermalModel : UniverseModel<UniverseObject>
- Inheritance
-
ThermalModel
- Extension Methods
Constructors
ThermalModel()
Default constructor
protected ThermalModel()
Fields
Conductivity
Conductivity of the Component
[Unit(UnitType.WATT_PER_METRE_KELVIN)]
[Metadata(IsAdvanced = true)]
public double Conductivity
Field Value
Density
Density of the component.
[Unit(UnitType.KILOGRAM_PER_CUBIC_METRE)]
[Metadata(IsAdvanced = true)]
public double Density
Field Value
FilePath
Filename for the lookup table
[ReadOnly]
[Metadata(IsAdvanced = true)]
public string FilePath
Field Value
GeneratedHeat
Heat Generated due to self functionality
[Unit(UnitType.JOULE)]
public double GeneratedHeat
Field Value
IsOperational
A flag whether the current model is operational
[ReadOnly]
public bool IsOperational
Field Value
LookupTemperature
The temperature obtained from the lookup table.
[Unit(UnitType.KELVIN)]
[ReadOnly]
public double LookupTemperature
Field Value
MaxTemperature
Maximum Operational Temperature
[Unit(UnitType.KELVIN)]
public double MaxTemperature
Field Value
MinTemperature
Minimum Operational Temperature
[Unit(UnitType.KELVIN)]
public double MinTemperature
Field Value
Out_ThermalNodeMsg
A output message for the thermal information on this object. This will store the temperature and the heat generated.
public ThermalNodeMessage? Out_ThermalNodeMsg
Field Value
SpecificHeat
Specific Heat of the Component
[Unit(UnitType.JOULE_PER_KILOGRAM_KELVIN)]
[Metadata(IsAdvanced = true)]
public double SpecificHeat
Field Value
ThermalAnalysis
Controls the thermal analysis type.
public ThermalAnalysisType ThermalAnalysis
Field Value
ThermalNodeColumn
The reference column index for the thermal database
[Unit(UnitType.NONE)]
public int ThermalNodeColumn
Field Value
Properties
Temperature
Current Temperature of the component
[Unit(UnitType.KELVIN)]
public double Temperature { get; set; }
Property Value
Methods
Initialise(string, int)
Loads the thermal model from a CSV file and stores the data in the model. This will be able to use a lookup based on some parameter that is configured.
public bool Initialise(string filePath, int thermalNodeColumn = 1)
Parameters
filePath
stringThe full file path to the particular lookup table
thermalNodeColumn
intThe column index of the thermal node reference
Returns
- bool
A successful load flag
Lookup(int, double)
Looks up some independent variable in the lookup table based on the thermal node reference column. This will also perform a LERP on the value based on the closest two values.
public double Lookup(int column, double value)
Parameters
column
int[-] The column index to lookup the value from
value
double[-] The value in which to compare to
Returns
- double
[-] The value that is found with the lookup
OnCreate()
Called when the object is created from the controller and has been attached to the parent object. By this point, it has been registered to the simulation and will run after the constructor.
protected override void OnCreate()
OnLoad(double)
Called after all of the data has been loaded from a save state on this object. This enables any post-load operations to be performed and extra data to be loaded from the metadata.
protected override void OnLoad(double time)
Parameters
time
double[s] The current clock time of the simulation
OnUpdate(double, double)
Called when the object should update from the simulation tick. This will take in a time and a step, where the time is the time of the clock before updating the object.
protected override void OnUpdate(double time, double step)