OGS
CreateTemperatureDependentDiffusion.cpp
Go to the documentation of this file.
1
10#include "BaseLib/ConfigTree.h"
11#include "ParameterLib/Utils.h"
13
14namespace MaterialPropertyLib
15{
16std::unique_ptr<Property> createTemperatureDependentDiffusion(
17 BaseLib::ConfigTree const& config,
18 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters)
19{
21 config.checkConfigParameter("type", "TemperatureDependentDiffusion");
22
23 auto const& D0 = ParameterLib::findParameter<double>(
25 config.getConfigParameter<std::string>("reference_diffusion"),
26 parameters, 0, nullptr);
27
28 auto const Ea =
30 config.getConfigParameter<double>("activation_energy");
31
32 auto const T0 =
34 config.getConfigParameter<double>("reference_temperature");
35
36 return std::make_unique<TemperatureDependentDiffusion>(D0, Ea, T0);
37}
38} // namespace MaterialPropertyLib
T getConfigParameter(std::string const &param) const
void checkConfigParameter(std::string const &param, std::string_view const value) const
std::unique_ptr< Property > createTemperatureDependentDiffusion(BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters)