OGS
MaterialLib::PorousMedium::PorousMediaProperties Class Reference

Detailed Description

Definition at line 27 of file PorousMediaProperties.h.

#include <PorousMediaProperties.h>

Collaboration diagram for MaterialLib::PorousMedium::PorousMediaProperties:
[legend]

Public Member Functions

 PorousMediaProperties (std::vector< std::unique_ptr< MaterialLib::PorousMedium::Porosity > > &&porosity_models, std::vector< std::unique_ptr< MaterialLib::PorousMedium::Permeability > > &&intrinsic_permeability_models, std::vector< std::unique_ptr< MaterialLib::PorousMedium::Storage > > &&specific_storage_models, MeshLib::PropertyVector< int > const *const material_ids)
 
 PorousMediaProperties (PorousMediaProperties &&other)=default
 
MaterialLib::PorousMedium::Porosity const & getPorosity (double t, ParameterLib::SpatialPosition const &pos) const
 
MaterialLib::PorousMedium::Permeability const & getIntrinsicPermeability (double t, ParameterLib::SpatialPosition const &pos) const
 
MaterialLib::PorousMedium::Storage const & getSpecificStorage (double t, ParameterLib::SpatialPosition const &pos) const
 

Private Member Functions

int getMaterialID (ParameterLib::SpatialPosition const &pos) const
 

Private Attributes

std::vector< std::unique_ptr< MaterialLib::PorousMedium::Porosity > > _porosity_models
 
std::vector< std::unique_ptr< MaterialLib::PorousMedium::Permeability > > _intrinsic_permeability_models
 
std::vector< std::unique_ptr< MaterialLib::PorousMedium::Storage > > _specific_storage_models
 
MeshLib::PropertyVector< int > const *const _material_ids
 

Constructor & Destructor Documentation

◆ PorousMediaProperties() [1/2]

MaterialLib::PorousMedium::PorousMediaProperties::PorousMediaProperties ( std::vector< std::unique_ptr< MaterialLib::PorousMedium::Porosity > > && porosity_models,
std::vector< std::unique_ptr< MaterialLib::PorousMedium::Permeability > > && intrinsic_permeability_models,
std::vector< std::unique_ptr< MaterialLib::PorousMedium::Storage > > && specific_storage_models,
MeshLib::PropertyVector< int > const *const material_ids )
inline

Definition at line 30 of file PorousMediaProperties.h.

38 : _porosity_models(std::move(porosity_models)),
40 std::move(intrinsic_permeability_models)),
41 _specific_storage_models(std::move(specific_storage_models)),
42 _material_ids(material_ids)
43 {
44 }
std::vector< std::unique_ptr< MaterialLib::PorousMedium::Permeability > > _intrinsic_permeability_models
MeshLib::PropertyVector< int > const *const _material_ids
std::vector< std::unique_ptr< MaterialLib::PorousMedium::Storage > > _specific_storage_models
std::vector< std::unique_ptr< MaterialLib::PorousMedium::Porosity > > _porosity_models

◆ PorousMediaProperties() [2/2]

MaterialLib::PorousMedium::PorousMediaProperties::PorousMediaProperties ( PorousMediaProperties && other)
default

Member Function Documentation

◆ getIntrinsicPermeability()

MaterialLib::PorousMedium::Permeability const & MaterialLib::PorousMedium::PorousMediaProperties::getIntrinsicPermeability ( double t,
ParameterLib::SpatialPosition const & pos ) const

Definition at line 30 of file PorousMediaProperties.cpp.

32{
34}
int getMaterialID(ParameterLib::SpatialPosition const &pos) const

References _intrinsic_permeability_models, and getMaterialID().

◆ getMaterialID()

int MaterialLib::PorousMedium::PorousMediaProperties::getMaterialID ( ParameterLib::SpatialPosition const & pos) const
private

Definition at line 17 of file PorousMediaProperties.cpp.

19{
20 return _material_ids ? (*_material_ids)[pos.getElementID().value()] : 0;
21}

References _material_ids, and ParameterLib::SpatialPosition::getElementID().

Referenced by getIntrinsicPermeability(), getPorosity(), and getSpecificStorage().

◆ getPorosity()

MaterialLib::PorousMedium::Porosity const & MaterialLib::PorousMedium::PorousMediaProperties::getPorosity ( double t,
ParameterLib::SpatialPosition const & pos ) const

Definition at line 23 of file PorousMediaProperties.cpp.

25{
26 return *_porosity_models[getMaterialID(pos)];
27}

References _porosity_models, and getMaterialID().

◆ getSpecificStorage()

MaterialLib::PorousMedium::Storage const & MaterialLib::PorousMedium::PorousMediaProperties::getSpecificStorage ( double t,
ParameterLib::SpatialPosition const & pos ) const

Definition at line 37 of file PorousMediaProperties.cpp.

39{
41}

References _specific_storage_models, and getMaterialID().

Member Data Documentation

◆ _intrinsic_permeability_models

std::vector<std::unique_ptr<MaterialLib::PorousMedium::Permeability> > MaterialLib::PorousMedium::PorousMediaProperties::_intrinsic_permeability_models
private

Definition at line 64 of file PorousMediaProperties.h.

Referenced by getIntrinsicPermeability().

◆ _material_ids

MeshLib::PropertyVector<int> const* const MaterialLib::PorousMedium::PorousMediaProperties::_material_ids
private

Definition at line 67 of file PorousMediaProperties.h.

Referenced by getMaterialID().

◆ _porosity_models

std::vector<std::unique_ptr<MaterialLib::PorousMedium::Porosity> > MaterialLib::PorousMedium::PorousMediaProperties::_porosity_models
private

Definition at line 62 of file PorousMediaProperties.h.

Referenced by getPorosity().

◆ _specific_storage_models

std::vector<std::unique_ptr<MaterialLib::PorousMedium::Storage> > MaterialLib::PorousMedium::PorousMediaProperties::_specific_storage_models
private

Definition at line 66 of file PorousMediaProperties.h.

Referenced by getSpecificStorage().


The documentation for this class was generated from the following files: