ASPECT
friction_models.h
Go to the documentation of this file.
1 // ------------------------------------------------------
2 //
3 // SPDX-License-Identifier: GPL-2.0-or-later
4 //
5 // SPDX-FileCopyrightText: Copyright (C) 2019-2026 by the ASPECT authors.
6 //
7 // This file is part of ASPECT.
8 //
9 // Detailed license information governing the source code and
10 // contributions can be found in the folder LICENSES and in
11 // LICENSE and CONTRIBUTING.md at the top level directory.
12 //
13 // ------------------------------------------------------
14 
15 #ifndef _aspect_material_model_rheology_friction_models_h
16 #define _aspect_material_model_rheology_friction_models_h
17 
18 #include <aspect/global.h>
22 #include <aspect/utilities.h>
23 
26 
27 namespace aspect
28 {
29  namespace MaterialModel
30  {
31  namespace Rheology
32  {
42  {
45  function
46  };
47 
48  template <int dim>
50  {
51  public:
55  static
56  void
58 
62  void
64 
70  double
71  compute_friction_angle(const double current_edot_ii,
72  const unsigned int volume_fraction_index,
73  const double static_friction_angle,
74  const Point<dim> &position) const;
75 
80  get_friction_mechanism () const;
81 
82  private:
90 
100 
109 
117 
122  std::unique_ptr<Functions::ParsedFunction<dim>> friction_function;
123 
131  };
132  }
133  }
134 }
135 #endif
FrictionMechanism get_friction_mechanism() const
double compute_friction_angle(const double current_edot_ii, const unsigned int volume_fraction_index, const double static_friction_angle, const Point< dim > &position) const
std::unique_ptr< Functions::ParsedFunction< dim > > friction_function
Utilities::Coordinates::CoordinateSystem coordinate_system_friction_function
void parse_parameters(ParameterHandler &prm)
static void declare_parameters(ParameterHandler &prm)