Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F100083597
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
Tue, Jan 28, 02:27
Size
1 KB
Mime Type
text/x-c
Expires
Thu, Jan 30, 02:27 (2 d)
Engine
blob
Format
Raw Data
Handle
23897593
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