OGS
CreateTemperatureDependentDiffusion.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
7
9{
10std::unique_ptr<Property> createTemperatureDependentDiffusion(
11 BaseLib::ConfigTree const& config,
12 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters)
13{
15 config.checkConfigParameter("type", "TemperatureDependentDiffusion");
16
19 config.getConfigParameter<std::string>("reference_diffusion"),
20 parameters, 0, nullptr);
21
22 auto const Ea =
24 config.getConfigParameter<double>("activation_energy");
25
26 auto const T0 =
28 config.getConfigParameter<double>("reference_temperature");
29
30 return std::make_unique<TemperatureDependentDiffusion>(D0, Ea, T0);
31}
32} // 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)
OGS_NO_DANGLING Parameter< ParameterDataType > & findParameter(std::string const &parameter_name, std::vector< std::unique_ptr< ParameterBase > > const &parameters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)