22 #include "pism/energy/BedrockColumn.hh"
23 #include "pism/util/ConfigInterface.hh"
29 const Config& config,
double dz,
unsigned int M)
30 : m_dz(dz), m_M(M), m_system(M, prefix) {
36 c = config.
get_number(
"energy.bedrock_thermal.specific_heat_capacity");
38 m_k = config.
get_number(
"energy.bedrock_thermal.conductivity");
54 const double *T_old,
double *T_new) {
57 double G = -Q_bottom /
m_k;
64 unsigned int N =
m_M - 1;
66 for (
unsigned int k = 1;
k < N; ++
k) {
85 const std::vector<double> &T_old,
86 std::vector<double> &result) {
88 solve(dt, Q_bottom, T_top, T_old.data(), result.data());
double get_number(const std::string &name, UseFlag flag=REMEMBER_THIS_USE) const
A class for storing and accessing PISM configuration flags and parameters.
void solve(unsigned int system_size, std::vector< double > &result)
BedrockColumn(const std::string &prefix, const Config &config, double dz, unsigned int M)
TridiagonalSystem m_system
void solve(double dt, double Q_bottom, double T_top, const double *T_old, double *result)