|
| AdsorptionReaction (AdsorptionConverter< T, DESCRIPTOR > const &converter, Isotherm< T > const *isotherm, T k_f, T D_s, T c_0, T r_p) |
|
T | getSurfaceLoading (T soluteConcentration) |
| Get surface loading without film diffusion.
|
|
T | getSurfaceLoading (T soluteConcentration, T particleLoading, T particleConcentration) |
| Get surface loading with film diffusion.
|
|
Vector< T, 2 > | getReactionRate (T soluteConcentration, T particleLoading, T particleConcentration) |
| Calculates reaction rate in lattice units.
|
|
T | getPhysFilmTransferConstant () |
|
T | getPhysSurfaceTransferConstant () |
|
T | getPhysSurfaceDiffusionConstant () |
|
void | print (std::ostream &clout) |
|
void | write (std::string const &fileName) |
|
T | filmDiffBoundary (T c_s_, T args[]) |
| equations for surface concentration
|
|
template<typename T, typename DESCRIPTOR>
class olb::AdsorptionReaction< T, DESCRIPTOR >
Describes adsorption reactions in conjunction with a Isotherm class.
- Template Parameters
-
- See also
- Isotherm
Definition at line 47 of file adsorptionReaction.h.
template<typename T , typename DESCRIPTOR >
Calculates reaction rate in lattice units.
- Parameters
-
soluteConcentration | |
particleLoading | |
particleConcentration | |
- Returns
- change in solute concentration
Definition at line 126 of file adsorptionReaction.h.
126 {
127 T surfaceLoad;
128 particleConcentration *=
_unitConverter.getConversionFactorParticleDensity();
129 soluteConcentration *=
_unitConverter.getConversionFactorDensity();
130 particleLoading *=
_unitConverter.getConversionFactorParticleDensity();
132 surfaceLoad = this->
getSurfaceLoading(soluteConcentration, particleLoading, particleConcentration);
133 } else {
135 }
136
137 T reactionRate = this->
k_s * (surfaceLoad * particleConcentration - particleLoading);
138 Vector<T, 2> reactionRates(reactionRate /
_unitConverter.getConversionFactorDensity(),
139 reactionRate /
_unitConverter.getConversionFactorParticleDensity());
140 return reactionRates;
141 }
T getSurfaceLoading(T soluteConcentration)
Get surface loading without film diffusion.
References olb::AdsorptionReaction< T, DESCRIPTOR >::_unitConverter, olb::AdsorptionReaction< T, DESCRIPTOR >::externalMassTransferEnabled, olb::AdsorptionReaction< T, DESCRIPTOR >::getSurfaceLoading(), and olb::AdsorptionReaction< T, DESCRIPTOR >::k_s.
template<typename T , typename DESCRIPTOR >
T olb::AdsorptionReaction< T, DESCRIPTOR >::getSurfaceLoading |
( |
T | soluteConcentration, |
|
|
T | particleLoading, |
|
|
T | particleConcentration ) |
|
inline |
Get surface loading with film diffusion.
Solves implicit boundary condition for surface concentration
- Parameters
-
soluteConcentration | |
particleLoading | |
particleConcentration | |
- Returns
- T
Definition at line 101 of file adsorptionReaction.h.
101 {
102 if (soluteConcentration < 0) return 0;
103
104
105
106 T surfaceConcentration = soluteConcentration;
107 T args[] = {particleLoading, soluteConcentration, particleConcentration};
108 for(int i = 0; i<100; i++){
109
110
111
112
113 T dCs = surfaceConcentration/1E8;
115 }
116 T load =
isotherm->getLoading(surfaceConcentration);
117 if (load < 0) load = 0;
118 return load;
119 }
T filmDiffBoundary(T c_s_, T args[])
equations for surface concentration
References olb::AdsorptionReaction< T, DESCRIPTOR >::filmDiffBoundary(), and olb::AdsorptionReaction< T, DESCRIPTOR >::isotherm.
template<typename T , typename DESCRIPTOR >
Definition at line 154 of file adsorptionReaction.h.
154 {
155 clout << "----------------- Reaction information -----------------" << std::endl;
156 clout << "-- Parameters:" << std::endl;
157 clout <<
"Particle diameter(m): d_p= " << this->
r_p*2 *
_unitConverter.getConversionFactorLength() << std::endl;
160 clout <<
"Initial solute concentration(mg/mL): c_0= " << this->
c_0 *
_unitConverter.getConversionFactorDensity() << std::endl;
161 clout <<
"Equilibrium surface loading(mg/g): q_0= " << this->
q_0 *
_unitConverter.getConversionFactorParticleDensity() << std::endl;
162 clout <<
"lattice Equilibrium surface loading: q_0= " << this->
q_0 << std::endl;
164 clout << "-------------------------------------------------------------" << std::endl;
166 }
T getPhysSurfaceTransferConstant()
T getPhysSurfaceDiffusionConstant()
T getPhysFilmTransferConstant()
References olb::AdsorptionReaction< T, DESCRIPTOR >::c_0, olb::UnitConverter< T, DESCRIPTOR >::getConversionFactorDensity(), olb::UnitConverter< T, DESCRIPTOR >::getConversionFactorLength(), olb::AdsorptionConverter< T, DESCRIPTOR >::getConversionFactorParticleDensity(), olb::AdsorptionReaction< T, DESCRIPTOR >::getPhysFilmTransferConstant(), olb::AdsorptionReaction< T, DESCRIPTOR >::getPhysSurfaceDiffusionConstant(), olb::AdsorptionReaction< T, DESCRIPTOR >::getPhysSurfaceTransferConstant(), olb::Isotherm< T >::print(), olb::AdsorptionReaction< T, DESCRIPTOR >::q_0, and olb::AdsorptionReaction< T, DESCRIPTOR >::r_p.