Peano
Loading...
Searching...
No Matches
FrictionLaws.h File Reference
#include "FrictionLaws.cpph"
Include dependency graph for FrictionLaws.h:

Go to the source code of this file.

Namespaces

namespace  applications
 
namespace  applications::exahype2
 
namespace  applications::exahype2::swe
 
namespace  applications::exahype2::swe::frictionlaws
 

Functions

static GPUCallableMethod double applications::exahype2::swe::frictionlaws::maxEigenvalue (const double *const __restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, const double t, const double dt, const int normal) InlineMethod
 
static GPUCallableMethod void applications::exahype2::swe::frictionlaws::maxEigenvalue (const double *const __restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, const double t, const double dt, const int normal, double *const __restrict__ maxEigenvalue) InlineMethod
 
static GPUCallableMethod void applications::exahype2::swe::frictionlaws::flux (const double *const __restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, const double t, const double dt, const int normal, double *const __restrict__ F) InlineMethod
 
static GPUCallableMethod void applications::exahype2::swe::frictionlaws::nonconservativeProduct (const double *const __restrict__ Q, const double *const __restrict__ deltaQ, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, const double t, const double dt, const int normal, double *const __restrict__ BTimesDeltaQ) InlineMethod
 
static GPUCallableMethod void applications::exahype2::swe::frictionlaws::coulombFriction (const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, double t, double dt, double *__restrict__ S) InlineMethod
 
static GPUCallableMethod void applications::exahype2::swe::frictionlaws::materialDependentBasalFriction (const double *__restrict__ Q, const tarch::la::Vector< Dimensions, double > &x, const tarch::la::Vector< Dimensions, double > &h, double t, double dt, double *__restrict__ S) InlineMethod
 

Variables

const double applications::exahype2::swe::frictionlaws::Zeta = 35.0 * std::numbers::pi / 180.0
 
const double applications::exahype2::swe::frictionlaws::Zeta1 = 28.95 * std::numbers::pi / 180.0
 
const double applications::exahype2::swe::frictionlaws::Zeta2 = 44.09 * std::numbers::pi / 180.0
 
const double applications::exahype2::swe::frictionlaws::Zeta3 = 31.81 * std::numbers::pi / 180.0
 
const double applications::exahype2::swe::frictionlaws::Mu1 = std::tan(Zeta1)
 
const double applications::exahype2::swe::frictionlaws::Mu2 = std::tan(Zeta2)
 
const double applications::exahype2::swe::frictionlaws::Mu3 = std::tan(Zeta3)
 
constexpr double applications::exahype2::swe::frictionlaws::Beta = 1.07
 
constexpr double applications::exahype2::swe::frictionlaws::Gamma = 2.01
 
constexpr double applications::exahype2::swe::frictionlaws::BetaStar = 0.06
 
constexpr double applications::exahype2::swe::frictionlaws::Kappa = 1.0
 
constexpr double applications::exahype2::swe::frictionlaws::FrictionLengthScale = 0.00035
 
const double applications::exahype2::swe::frictionlaws::Nu = (2.0 / 9.0) * (FrictionLengthScale / Beta) * (GRAV * std::sin(Zeta) / std::sqrt(GRAV * std::cos(Zeta))) * (((Mu2 - Mu1) / (std::tan(Zeta) - Mu1)) - 1.0)
 
const double applications::exahype2::swe::frictionlaws::Hstart = FrictionLengthScale * (((Mu2 - Mu1) / (std::tan(Zeta) - Mu3)) - 1.0)
 
const double applications::exahype2::swe::frictionlaws::Hstop = FrictionLengthScale * (((Mu2 - Mu1) / (std::tan(Zeta) - Mu1)) - 1.0)