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);
47 std::string nameh =
"none";
48 std::string notationh =
"none";
52 std::vector<long> qatom_psh;
59 std::shared_ptr<VanDerWaals> m_vdw;
62 const std::string&
name()
const {
return nameh; }
63 const std::string&
notation()
const {
return notationh; }
64 const std::vector<long>&
qatom_ps()
const {
return qatom_psh; }
65 long qatom_ps(
long n)
const {
return qatom_psh[n]; }
67 double A_total()
const {
return A_totalh; }
68 long tqatom()
const {
return tqatomh; }
69 const std::shared_ptr<VanDerWaals>&
vdw()
const {
return m_vdw; }
71 MoleculeDef(
const std::string& fname,
const std::string& fnotation,
72 long fqatom,
const std::vector<std::string>& fatom_not,
73 const std::vector<long>& fqatom_ps,
74 std::shared_ptr<VanDerWaals> fvdw = {});
75 MoleculeDef(
const std::string& fname,
const std::string& fnotation,
76 const std::string& fatom_not,
long fqatom_ps,
77 std::shared_ptr<VanDerWaals> fvdw = {});
78 MoleculeDef(
const std::string& fname,
const std::string& fnotation,
79 const std::string& fatom_not1,
long fqatom_ps1,
80 const std::string& fatom_not2,
long fqatom_ps2,
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 const std::string& fatom_not3,
long fqatom_ps3,
86 std::shared_ptr<VanDerWaals> fvdw = {});
89 void print(std::ostream& file,
int l)
const;
93std::ostream&
operator<<(std::ostream& file,
const MoleculeDef& f);
108 static std::list<MoleculeDef> molecules;
AtomMixDef()=default
Default constructor.
const std::vector< long > & qatom_ps() const
const std::string & name() const
MoleculeDef * copy() const
void print(std::ostream &file, int l) const
long qatom_ps(long n) const
const std::string & notation() const
const std::shared_ptr< VanDerWaals > & vdw() const
static const MoleculeDef * getMolecule(const std::string &fnotation)
static const std::list< MoleculeDef > & getMolecules()
static void printMolecules(std::ostream &file)
Print all registered molecules.
Helper class for Van-der-Waals equation.
VanDerWaals * copy() const
double volume_of_mole(double T, double p, int &s_not_single)
VanDerWaals(double fPk, double fTk)
std::ostream & operator<<(std::ostream &file, const BGMesh &bgm)