45 lines
969 B
C
45 lines
969 B
C
|
// geom.h
|
||
|
//
|
||
|
// Author: J.A. de Jong
|
||
|
//
|
||
|
// Description:
|
||
|
//
|
||
|
//////////////////////////////////////////////////////////////////////
|
||
|
#pragma once
|
||
|
#ifndef GEOM_H
|
||
|
#define GEOM_H
|
||
|
|
||
|
#include "tasmet_constants.h"
|
||
|
#include "tasmet_types.h"
|
||
|
#include "duct.pb.h"
|
||
|
|
||
|
class Geom{
|
||
|
|
||
|
public:
|
||
|
// Parse geometry from duct
|
||
|
Geom(const pb::Duct& duct);
|
||
|
|
||
|
// Public members
|
||
|
vd x,S,phi,rh;
|
||
|
pb::Cshape cshape;
|
||
|
|
||
|
// Shape keyword
|
||
|
string shapeString() const;
|
||
|
|
||
|
bool isPrismatic() const;
|
||
|
|
||
|
us ngp() const {return x.size();}
|
||
|
d L() const {return x(x.size()-1);}
|
||
|
d Sleft() const {return S(0);}
|
||
|
d Sright() const {return S(ngp()-1);}
|
||
|
|
||
|
d Sf(us i) const {return S(i)*phi(i);} // Fluid-occupied cross-sectional area of cell-wall
|
||
|
d Ss(us i) const {return (1-phi(i))*S(i);} // Solid-occupied cross-sectional area
|
||
|
|
||
|
d getFluidVolume() const;
|
||
|
d getSolidVolume() const;
|
||
|
|
||
|
}; /* class Geom */
|
||
|
|
||
|
#endif /* _GEOM_H_ */
|