Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F120369291
laws.hpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Jul 3, 20:24
Size
1 KB
Mime Type
text/x-c
Expires
Sat, Jul 5, 20:24 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
27178885
Attached To
rSPECMICP SpecMiCP / ReactMiCP
laws.hpp
View Options
/*-------------------------------------------------------
- Module : physics
- File : laws
- Author : Fabien Georget
Copyright (c) 2014, Fabien Georget, Princeton University
---------------------------------------------------------*/
#ifndef SPECMICP_LAWS_LAWS_HPP
#define SPECMICP_LAWS_LAWS_HPP
//! \file laws Simple physical laws
#include "constants.hpp"
#include <cmath>
namespace specmicp {
namespace laws {
inline double pressure_perfect_gas(double n, double V, double T=298.15)
{
return n*constants::gas_constant*T/V;
}
inline double mole_perfect_gas(double P, double V, double T=298.15)
{
return P*V/(constants::gas_constant*T);
}
inline double debye_huckel(double sqrtI, double zi, double ao)
{
if (zi != 0)
{
double tmp = - constants::Adebye*std::pow(2, zi)*sqrtI;
tmp /= (1 + ao*constants::Bdebye*sqrtI);
return tmp;
}
else return 0;
}
inline double extended_debye_huckel(double I, double sqrtI, double zi, double ao, double bdot)
{
double tmp = debye_huckel(sqrtI, zi, ao);
return tmp + bdot*I;
}
inline double extended_debye_huckel(double I, double zi, double ao, double bdot)
{
double tmp = debye_huckel(std::sqrt(I), zi, ao);
return tmp + bdot*I;
}
} // end namespace laws
} // end namespace specmicp
#endif // SPECMICP_LAWS_LAWS_HPP
Event Timeline
Log In to Comment