PISM, A Parallel Ice Sheet Model
stable v2.1-1-g6902d5502 committed by Ed Bueler on 2023-12-20 08:38:27 -0800
src
frontretreat
util
IcebergRemoverFEM.hh
Go to the documentation of this file.
1
/* Copyright (C) 2021, 2022, 2023 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 ICEBERGREMOVERFEM_H
20
#define ICEBERGREMOVERFEM_H
21
22
#include "pism/frontretreat/util/IcebergRemover.hh"
23
#include "pism/util/array/Scalar.hh"
24
25
namespace
pism
{
26
namespace
calving {
27
28
/*!
29
* Iceberg remover used with FEM-based stress balance solvers.
30
*
31
* In the FEM context we need to identify patches of elements that are not connected to
32
* grounded ice. (Two elements are considered "connected" if they share a boundary.)
33
*/
34
class
IcebergRemoverFEM
:
public
IcebergRemover
{
35
public
:
36
IcebergRemoverFEM
(std::shared_ptr<const Grid>
g
);
37
private
:
38
void
update_impl
(
const
array::Scalar
&bc_mask,
39
array::CellType1
&cell_type,
40
array::Scalar
&ice_thickness);
41
array::Scalar
m_mask
;
42
};
43
44
}
// end of namespace calving
45
}
// end of namespace pism
46
47
#endif
/* ICEBERGREMOVERFEM_H */
pism::array::CellType1
Definition:
CellType.hh:72
pism::array::Scalar
Definition:
Scalar.hh:31
pism::calving::IcebergRemoverFEM::m_mask
array::Scalar m_mask
Definition:
IcebergRemoverFEM.hh:41
pism::calving::IcebergRemoverFEM::IcebergRemoverFEM
IcebergRemoverFEM(std::shared_ptr< const Grid > g)
Definition:
IcebergRemoverFEM.cc:36
pism::calving::IcebergRemoverFEM::update_impl
void update_impl(const array::Scalar &bc_mask, array::CellType1 &cell_type, array::Scalar &ice_thickness)
Definition:
IcebergRemoverFEM.cc:67
pism::calving::IcebergRemoverFEM
Definition:
IcebergRemoverFEM.hh:34
pism::calving::IcebergRemover
PISM iceberg remover.
Definition:
IcebergRemover.hh:47
pism::g
static const double g
Definition:
exactTestP.cc:36
pism
Definition:
AgeColumnSystem.cc:23
Generated by
1.9.1