OGS
TemperatureDependentDiffusion.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
9
10namespace MaterialPropertyLib
11{
28{
29public:
32 double const Ea,
33 double const T0)
34 : D0_(D0), Ea_(Ea), T0_(T0)
35 {
36 }
37
38 void checkScale() const override;
39
40 PropertyDataType value(VariableArray const& variable_array,
42 double const t,
43 double const /*dt*/) const override;
44
45private:
49 double const Ea_;
51 double const T0_;
52};
53} // namespace MaterialPropertyLib
virtual PropertyDataType value() const
ParameterLib::Parameter< double > const & D0_
the molecular diffusion at the reference temperature
double const Ea_
the activation energy for diffusion
TemperatureDependentDiffusion(ParameterLib::Parameter< double > const &D0, double const Ea, double const T0)
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType