Page MenuHomec4science

transport_parameters.hpp
No OneTemporary

File Metadata

Created
Fri, May 31, 22:54

transport_parameters.hpp

#ifndef SPECMICP_REACTMICP_SATURATEDDIFFUSION_TRANSPORTPARAMETERS_HPP
#define SPECMICP_REACTMICP_SATURATEDDIFFUSION_TRANSPORTPARAMETERS_HPP
#include "common.hpp"
namespace specmicp {
namespace reactmicp {
namespace systems {
namespace siasaturated {
//! \brief Parameters for the diffusion system
class SaturatedDiffusionTransportParameters
{
public:
SaturatedDiffusionTransportParameters(uindex_t nbnodes):
m_diffusion_coefficients(nbnodes), m_porosities(nbnodes)
{}
SaturatedDiffusionTransportParameters(
index_t nbnodes,
scalar_t the_diffusion_coefficient,
scalar_t the_porosity
):
SaturatedDiffusionTransportParameters(nbnodes)
{
m_diffusion_coefficients.setConstant(the_diffusion_coefficient);
m_porosities.setConstant(the_porosity);
}
//! \brief Density of water (kg/m^3)
scalar_t density_water() {return 1e3;}
//! \brief Diffusion coefficient (element by element) (m^2/s)
scalar_t diffusion_coefficient(index_t node) const {return m_diffusion_coefficients(node);}
//! \brief Diffusion coefficient (element by element) (m^2/s)
scalar_t& diffusion_coefficient(index_t node) {return m_diffusion_coefficients(node);}
//! \brief Porosity (at a node (function of composition))
scalar_t porosity(index_t node) const {return m_porosities(node);}
//! \brief Porosity at a node
scalar_t& porosity(index_t node) {return m_porosities(node);}
private:
Vector m_diffusion_coefficients;
Vector m_porosities;
};
} // end namespace siasaturated
} // end namespace systems
} // end namespace reactmicp
} // end namespace specmicp
#endif // SPECMICP_REACTMICP_SATURATEDDIFFUSION_TRANSPORTPARAMETERS_HPP

Event Timeline