EPANET  3.0
EPANET Development Project
tankmixmodel.h
Go to the documentation of this file.
1 /* EPANET 3
2  *
3  * Copyright (c) 2016 Open Water Analytics
4  * Licensed under the terms of the MIT License (see the LICENSE file for details).
5  *
6  */
7 
10 
11 #ifndef TANKMIXMODEL_H_
12 #define TANKMIXMODEL_H_
13 
14 class Tank;
15 class QualModel;
16 class SegPool;
17 struct Segment;
18 
21 
23 {
24  public:
25 
26  enum MixingModel {
27  MIX1,
28  MIX2,
29  FIFO,
31  };
32 
33  static const char* MixingModelWords[];
34 
35  // Constructor / Destructor
36  TankMixModel();
37  ~TankMixModel();
38 
39  // Methods
40  void init(Tank* tank, SegPool* segPool, double _cTol);
41  double findQuality(double vNet, double vIn, double wIn, SegPool* segPool);
42  double react(Tank* tank, QualModel* qualModel, double tstep);
43  double storedMass();
44 
45  // Properties
46  int type;
47  double cTol;
48  double fracMixed;
49 
50  private:
51  // Methods
52  double findMIX1Quality(double vNet, double vIn, double wIn);
53  double findMIX2Quality(double vNet, double vIn, double wIn);
54  double findFIFOQuality(double vNet, double vIn, double wIn, SegPool* segPool);
55  double findLIFOQuality(double vNet, double vIn, double wIn, SegPool* segPool);
56 
57  // Properties
58  double cTank;
59  double vMixed;
60  Segment* firstSeg;
61  Segment* lastSeg;
62 };
63 
64 #endif // TANKMIXING_H_
Definition: segpool.h:23
completely mixed model
Definition: tankmixmodel.h:27
two compartment model
Definition: tankmixmodel.h:28
last in, first out model
Definition: tankmixmodel.h:30
< Volume segment
Definition: segpool.h:16
The model used to compute mixing behavior within a storage tank.
Definition: tankmixmodel.h:22
A fixed head Node with storage volume.
Definition: tank.h:27
double cTol
concentration tolerance (mass/ft3)
Definition: tankmixmodel.h:47
The interface for a water quality analysis model.
Definition: qualmodel.h:28
MixingModel
Definition: tankmixmodel.h:26
first in, first out model
Definition: tankmixmodel.h:29
double fracMixed
mixing zone extent for MIX2 model
Definition: tankmixmodel.h:48
int type
type of mixing model
Definition: tankmixmodel.h:46