hydrobricks
Loading...
Searching...
No Matches
Snowpack.h
1#ifndef HYDROBRICKS_SNOWPACK_H
2#define HYDROBRICKS_SNOWPACK_H
3
4#include "Includes.h"
5#include "SnowContainer.h"
6#include "SurfaceComponent.h"
7
8class Snowpack : public SurfaceComponent {
9 public:
10 Snowpack();
11
15 void Reset() override;
16
20 void SaveAsInitialState() override;
21
25 void SetParameters(const BrickSettings& brickSettings) override;
26
30 void AttachFluxIn(Flux* flux) override;
31
35 bool IsOk() override;
36
43
47 bool IsSnowpack() override {
48 return true;
49 }
50
54 void Finalize() override;
55
59 void SetInitialState(double value, const string& type) override;
60
64 double GetContent(const string& type) override;
65
69 void UpdateContent(double value, const string& type) override;
70
74 void UpdateContentFromInputs() override;
75
79 void ApplyConstraints(double timeStep) override;
80
84 vecDoublePt GetDynamicContentChanges() override;
85
89 double* GetValuePointer(const string& name) override;
90
96 bool HasSnow();
97
98 protected:
99 SnowContainer* m_snow;
100};
101
102#endif // HYDROBRICKS_SNOWPACK_H
Definition Flux.h:8
Definition SnowContainer.h:9
Definition Snowpack.h:8
bool IsSnowpack() override
Definition Snowpack.h:47
WaterContainer * GetSnowContainer()
Definition Snowpack.cpp:41
void SetInitialState(double value, const string &type) override
Definition Snowpack.cpp:50
void SetParameters(const BrickSettings &brickSettings) override
Definition Snowpack.cpp:19
bool HasSnow()
Definition Snowpack.cpp:111
double GetContent(const string &type) override
Definition Snowpack.cpp:60
void ApplyConstraints(double timeStep) override
Definition Snowpack.cpp:86
void Finalize() override
Definition Snowpack.cpp:45
void AttachFluxIn(Flux *flux) override
Definition Snowpack.cpp:23
bool IsOk() override
Definition Snowpack.cpp:34
void UpdateContent(double value, const string &type) override
Definition Snowpack.cpp:71
void UpdateContentFromInputs() override
Definition Snowpack.cpp:81
vecDoublePt GetDynamicContentChanges() override
Definition Snowpack.cpp:91
void Reset() override
Definition Snowpack.cpp:9
double * GetValuePointer(const string &name) override
Definition Snowpack.cpp:103
void SaveAsInitialState() override
Definition Snowpack.cpp:14
Definition SurfaceComponent.h:10
Definition WaterContainer.h:9
Definition SettingsModel.h:45