PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
src
util
node_types.hh
Go to the documentation of this file.
1
/* Copyright (C) 2016, 2022 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
20
#ifndef _NODE_TYPES_H_
21
#define _NODE_TYPES_H_
22
23
namespace
pism
{
24
25
//! Node types (in the map plane). These are used to implement boundary conditions in the Q1 FEM
26
//! code.
27
/**
28
Note: The condition node_type > 0.5 is also used to detect "exterior" (ice-free) nodes where we
29
prescribe homogeneous Dirichlet B.C. See DirichletData_*::fix_residual_homogeneous.
30
31
This means that interior and boundary types should not use positive values.
32
*/
33
enum
NodeType
{
34
NODE_INTERIOR
= -1,
35
NODE_BOUNDARY
= 0,
36
NODE_EXTERIOR
= 1
37
};
38
39
namespace
array {
40
class
Scalar;
41
class
Scalar1;
42
}
43
44
void
compute_node_types
(
const
array::Scalar1 &ice_thickness,
45
double
thickness_threshold,
46
array::Scalar &result);
47
48
}
// end of namespace pism
49
50
51
#endif
/* _NODE_TYPES_H_ */
pism::NodeType
NodeType
Definition:
node_types.hh:33
pism::NODE_BOUNDARY
@ NODE_BOUNDARY
Definition:
node_types.hh:35
pism::NODE_EXTERIOR
@ NODE_EXTERIOR
Definition:
node_types.hh:36
pism::NODE_INTERIOR
@ NODE_INTERIOR
Definition:
node_types.hh:34
pism::compute_node_types
void compute_node_types(const array::Scalar1 &ice_thickness, double thickness_threshold, array::Scalar &result)
Definition:
node_types.cc:62
pism
Definition:
AgeColumnSystem.cc:23
Generated by
1.9.1