Loading [MathJax]/extensions/tex2jax.js
PISM, A Parallel Ice Sheet Model
2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Variables
a
b
c
d
f
g
h
i
k
l
m
n
r
s
t
u
v
w
Typedefs
Enumerations
a
b
c
d
e
f
i
k
l
m
n
p
r
t
u
v
Enumerator
_
a
b
c
d
e
f
g
h
i
l
m
n
p
q
s
t
u
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
d
f
g
h
l
m
p
s
v
w
Enumerations
Enumerator
c
d
e
f
h
i
j
m
n
o
p
r
s
t
w
y
Related Symbols
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
u
w
z
Functions
a
b
c
d
e
f
g
h
i
l
m
p
r
s
u
Variables
b
c
d
e
g
h
k
l
m
n
p
r
s
t
u
w
z
Typedefs
Macros
_
a
b
c
g
h
i
k
m
n
r
s
t
u
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
src
energy
BedrockColumn.hh
Go to the documentation of this file.
1
// Copyright (C) 2019, 2021 PISM Authors
2
//
3
// This file is part of PISM.
4
//
5
// PISM is free software; you can redistribute it and/or modify it under the
6
// terms of the GNU General Public License as published by the Free Software
7
// Foundation; either version 3 of the License, or (at your option) any later
8
// version.
9
//
10
// PISM is distributed in the hope that it will be useful, but WITHOUT ANY
11
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13
// details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with PISM; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19
#ifndef BEDROCK_COLUMN_HH
20
#define BEDROCK_COLUMN_HH
21
22
#include "pism/util/ColumnSystem.hh"
23
24
namespace
pism
{
25
26
class
Config;
27
28
namespace
energy {
29
30
/*! Tridiagonal linear system for conservation of energy in vertical columns of the
31
* bedrock thermal layer.
32
*
33
* The top surface uses the Dirichlet boundary condition, the bottom surface a heat flux
34
* (Neumann) BC.
35
*
36
* The implementation uses a second-order discretization in space and the backward-Euler
37
* (first-order, fully implicit) time-discretization.
38
*/
39
class
BedrockColumn
{
40
public
:
41
BedrockColumn
(
const
std::string &prefix,
const
Config
&config,
42
double
dz,
unsigned
int
M);
43
~BedrockColumn
() =
default
;
44
45
void
solve
(
double
dt,
double
Q_bottom,
double
T_top,
46
const
double
*T_old,
double
*result);
47
48
void
solve
(
double
dt,
double
Q_bottom,
double
T_top,
49
const
std::vector<double> &T_old,
50
std::vector<double> &result);
51
52
private
:
53
// temperature diffusivity coefficient
54
double
m_D
;
55
// thermal conductivity
56
double
m_k
;
57
// vertical spacing
58
double
m_dz
;
59
// system size
60
unsigned
int
m_M
;
61
62
TridiagonalSystem
m_system
;
63
};
39
class
BedrockColumn
{
…
};
64
65
}
// end of namespace energy
66
}
// end of namespace pism
67
68
#endif
// ifndef BEDROCK_COLUMN_HH
pism::Config
A class for storing and accessing PISM configuration flags and parameters.
Definition
ConfigInterface.hh:54
pism::TridiagonalSystem
Virtual base class. Abstracts a tridiagonal system to solve in a column of ice and/or bedrock.
Definition
ColumnSystem.hh:86
pism::energy::BedrockColumn::m_D
double m_D
Definition
BedrockColumn.hh:54
pism::energy::BedrockColumn::m_k
double m_k
Definition
BedrockColumn.hh:56
pism::energy::BedrockColumn::~BedrockColumn
~BedrockColumn()=default
pism::energy::BedrockColumn::m_system
TridiagonalSystem m_system
Definition
BedrockColumn.hh:62
pism::energy::BedrockColumn::solve
void solve(double dt, double Q_bottom, double T_top, const double *T_old, double *result)
Definition
BedrockColumn.cc:53
pism::energy::BedrockColumn::m_dz
double m_dz
Definition
BedrockColumn.hh:58
pism::energy::BedrockColumn::m_M
unsigned int m_M
Definition
BedrockColumn.hh:60
pism::energy::BedrockColumn
Definition
BedrockColumn.hh:39
pism
Definition
AgeColumnSystem.cc:23
Generated by
1.9.8