PISM, A Parallel Ice Sheet Model
2.3.0-79cae578d committed by Constantine Khrulev on 2026-03-22
Loading...
Searching...
No Matches
src
geometry
flux_limiter.hh
Go to the documentation of this file.
1
/* Copyright (C) 2022, 2025 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
namespace
pism
{
21
22
namespace
array {
23
class
Scalar1;
24
class
Staggered;
25
class
Staggered1;
26
}
// end of namespace array
27
28
/*! Limit fluxes to preserve non-negativity of a transported quantity.
29
*
30
* @param[in] dt time step length (seconds)
31
* @param[in] x transported quantity (non-negative)
32
* @param[in] flux flux on the staggered grid
33
* @param[in] result flux with the limiter applied
34
*
35
* Returns the number of grid cells affected by the flux limiter.
36
*
37
* Does not require communication.
38
*/
39
int
make_nonnegative_preserving
(
double
dt,
const
array::Scalar1 &x,
const
array::Staggered1 &flux,
40
array::Staggered &result);
41
42
}
// end of namespace pism
pism::make_nonnegative_preserving
int make_nonnegative_preserving(double dt, const array::Scalar1 &x, const array::Staggered1 &flux, array::Staggered &result)
Definition
flux_limiter.cc:199
pism
Definition
AgeColumnSystem.cc:23
Generated by
1.9.8