tasmet/src/duct/geom.h

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_ */