20 double a()
const {
return ah; }
21 double b()
const {
return bh; }
22 double Vk()
const {
return Vkh; }
23 double Pk()
const {
return Pkh; }
24 double Tk()
const {
return Tkh; }
38std::ostream&
operator<<(std::ostream& file,
const VanDerWaals& f);
51 std::string nameh =
"none";
52 std::string notationh =
"none";
56 std::vector<long> qatom_psh;
63 std::shared_ptr<VanDerWaals> m_vdw;
66 const std::string&
name()
const {
return nameh; }
67 const std::string&
notation()
const {
return notationh; }
68 const std::vector<long>&
qatom_ps()
const {
return qatom_psh; }
69 long qatom_ps(
long n)
const {
return qatom_psh[n]; }
71 double A_total()
const {
return A_totalh; }
72 long tqatom()
const {
return tqatomh; }
73 const std::shared_ptr<VanDerWaals>&
vdw()
const {
return m_vdw; }
75 MoleculeDef(
const std::string& fname,
const std::string& fnotation,
76 long fqatom,
const std::vector<std::string>& fatom_not,
77 const std::vector<long>& fqatom_ps,
78 std::shared_ptr<VanDerWaals> fvdw = {});
79 MoleculeDef(
const std::string& fname,
const std::string& fnotation,
80 const std::string& fatom_not,
long fqatom_ps,
81 std::shared_ptr<VanDerWaals> fvdw = {});
82 MoleculeDef(
const std::string& fname,
const std::string& fnotation,
83 const std::string& fatom_not1,
long fqatom_ps1,
84 const std::string& fatom_not2,
long fqatom_ps2,
85 std::shared_ptr<VanDerWaals> fvdw = {});
86 MoleculeDef(
const std::string& fname,
const std::string& fnotation,
87 const std::string& fatom_not1,
long fqatom_ps1,
88 const std::string& fatom_not2,
long fqatom_ps2,
89 const std::string& fatom_not3,
long fqatom_ps3,
90 std::shared_ptr<VanDerWaals> fvdw = {});
93 void print(std::ostream& file,
int l)
const;
94 static void printall(std::ostream& file);
108std::ostream&
operator<<(std::ostream& file,
const MoleculeDef& f);
const std::vector< long > & qatom_ps() const
const std::string & name() const
void verify()
Check that there is no molecule with the same name in the container.
static MoleculeDef * get_MoleculeDef(const std::string &fnotation)
static void printall(std::ostream &file)
MoleculeDef * copy() const
void print(std::ostream &file, int l) const
long qatom_ps(long n) const
const std::string & notation() const
static std::list< MoleculeDef * > & get_logbook()
static const std::list< MoleculeDef * > & get_const_logbook()
const std::shared_ptr< VanDerWaals > & vdw() const
Helper class for Van-der-Waals equation.
VanDerWaals * copy() const
double volume_of_mole(double T, double p, int &s_not_single)
std::ostream & operator<<(std::ostream &file, const BGMesh &bgm)