hydrobricks
Loading...
Searching...
No Matches
Process Class Referenceabstract
Inheritance diagram for Process:
ProcessET ProcessInfiltration ProcessMelt ProcessOutflow ProcessETSocont ProcessInfiltrationSocont ProcessMeltDegreeDay ProcessMeltDegreeDayAspect ProcessMeltTemperatureIndex ProcessOutflowDirect ProcessOutflowLinear ProcessOutflowOverflow ProcessOutflowPercolation ProcessOutflowRestDirect ProcessRunoffSocont

Public Member Functions

 Process (WaterContainer *container)
 
void Reset ()
 
virtual bool IsOk ()=0
 
virtual void SetHydroUnitProperties (HydroUnit *unit, Brick *brick)
 
virtual void SetParameters (const ProcessSettings &processSettings)
 
virtual void AttachForcing (Forcing *)
 
void AttachFluxOut (Flux *flux)
 
vector< Flux * > GetOutputFluxes ()
 
int GetOutputFluxesNb ()
 
virtual bool ToAtmosphere ()
 
virtual bool NeedsTargetBrickLinking ()
 
virtual int GetConnectionsNb ()=0
 
virtual vecDouble GetChangeRates ()
 
virtual void StoreInOutgoingFlux (double *rate, int index)
 
void ApplyChange (int connectionIndex, double rate, double timeStepInDays)
 
virtual void Finalize ()
 
virtual vecDoublePt GetStateVariables ()
 
virtual double * GetValuePointer (const string &name)
 
string GetName ()
 
void SetName (const string &name)
 
WaterContainerGetWaterContainer ()
 
virtual void SetTargetBrick (Brick *)
 

Static Public Member Functions

static ProcessFactory (const ProcessSettings &processSettings, Brick *brick)
 
static bool RegisterParametersAndForcing (SettingsModel *modelSettings, const string &processType)
 
static bool HasParameter (const ProcessSettings &processSettings, const string &name)
 
static float * GetParameterValuePointer (const ProcessSettings &processSettings, const string &name)
 

Protected Member Functions

double GetSumChangeRatesOtherProcesses ()
 
virtual vecDouble GetRates ()=0
 

Protected Attributes

string m_name
 
WaterContainerm_container
 
vector< Flux * > m_outputs
 

Member Function Documentation

◆ AttachFluxOut()

void Process::AttachFluxOut ( Flux flux)
inline

Attach outgoing flux.

Parameters
fluxoutgoing flux

◆ Factory()

Process * Process::Factory ( const ProcessSettings processSettings,
Brick brick 
)
static

Factory method to create a process.

Parameters
processSettingssettings of the process.
brickthe related brick.
Returns
the created process.

◆ GetStateVariables()

virtual vecDoublePt Process::GetStateVariables ( )
inlinevirtual

Get pointers to the state variables.

Returns
vector of pointers to the state variables.

◆ HasParameter()

bool Process::HasParameter ( const ProcessSettings processSettings,
const string &  name 
)
static

Check if the process has a parameter with the provided name.

Parameters
processSettingssettings of the process containing the parameters.
namename of the parameter to check.
Returns
true if the process has a parameter with the provided name.

◆ IsOk()

virtual bool Process::IsOk ( )
pure virtual

Check that everything is correctly defined.

Returns
true is everything is correctly defined.

Implemented in ProcessET, ProcessETSocont, ProcessInfiltration, ProcessMelt, ProcessMeltDegreeDay, ProcessMeltDegreeDayAspect, ProcessMeltTemperatureIndex, and ProcessOutflow.

◆ RegisterParametersAndForcing()

bool Process::RegisterParametersAndForcing ( SettingsModel modelSettings,
const string &  processType 
)
static

Register the parameters and the needed forcing for the process.

Parameters
modelSettingssettings of the model.
processTypetype of process.
Returns
true if everything is correctly defined.

◆ Reset()

void Process::Reset ( )

Reset all the fluxes connected to the process.

◆ SetHydroUnitProperties()

void Process::SetHydroUnitProperties ( HydroUnit unit,
Brick brick 
)
virtual

Set the properties of the hydro unit.

Parameters
unitthe related hydro unit.
brickthe related brick.

Reimplemented in ProcessMeltDegreeDayAspect, and ProcessRunoffSocont.

◆ SetParameters()

void Process::SetParameters ( const ProcessSettings processSettings)
virtual

Assign the parameters to the process.

Parameters
processSettingssettings of the process containing the parameters.

Reimplemented in ProcessInfiltrationSocont, ProcessMeltDegreeDay, ProcessMeltDegreeDayAspect, ProcessMeltTemperatureIndex, ProcessOutflowLinear, ProcessOutflowOverflow, ProcessOutflowPercolation, and ProcessRunoffSocont.


The documentation for this class was generated from the following files: