diff --git a/src/enum_state_model.cc b/src/enum_state_model.cc index eb0627714bb01d5481e286a6150366f990ebb729..37902aaca90854d20a57a7243584914144bc6ede 100644 --- a/src/enum_state_model.cc +++ b/src/enum_state_model.cc @@ -4,11 +4,11 @@ template <> struct StringToEnum<Config::stateModel> { static Config::stateModel convert(std::string const &s) { - if (s == "Dieterich") - return Config::Dieterich; + if (s == "AgeingLaw") + return Config::AgeingLaw; - if (s == "Ruina") - return Config::Ruina; + if (s == "SlipLaw") + return Config::SlipLaw; DUNE_THROW(Dune::Exception, "failed to parse enum"); } diff --git a/src/enums.hh b/src/enums.hh index 681c1ee2eaa7b37054a9f27cbee9e48f56bed5e2..7dbd9b95997e0076f4bf078112991b31971c8fd4 100644 --- a/src/enums.hh +++ b/src/enums.hh @@ -3,8 +3,8 @@ struct Config { enum stateModel { - Dieterich, - Ruina + AgeingLaw, + SlipLaw }; enum scheme { Newmark, diff --git a/src/sand-wedge-data/parset.cfg b/src/sand-wedge-data/parset.cfg index e1adc85ac6eeb66f318fd83e09e12631d0f4470f..8a2b3bd9d2c27e1af76e1a27d9953619038edbce 100644 --- a/src/sand-wedge-data/parset.cfg +++ b/src/sand-wedge-data/parset.cfg @@ -26,7 +26,7 @@ mu0 = 0.7 # [1] V0 = 5e-5 # [m/s] L = 2e-5 # [m] ? initialAlpha = 0.916290731874155 # [ ] ? -stateModel = Dieterich +stateModel = AgeingLaw [boundary.friction.weakening] a = 0.015 # [1] ? b = 0.030 # [1] ? diff --git a/src/state.hh b/src/state.hh index 57c24f622095712d3de33c71fe979390592bf177..1aed2528914cd7f11d9826b7f8dcee2b9a6105e1 100644 --- a/src/state.hh +++ b/src/state.hh @@ -5,19 +5,19 @@ #include "enums.hh" #include "state/stateupdater.hh" -#include "state/ruinastateupdater.hh" -#include "state/dieterichstateupdater.hh" +#include "state/ageinglawstateupdater.hh" +#include "state/sliplawstateupdater.hh" template <class ScalarVector, class Vector> std::shared_ptr<StateUpdater<ScalarVector, Vector>> initStateUpdater( Config::stateModel model, ScalarVector const &alpha_initial, Dune::BitSetVector<1> const &frictionalNodes, double L, double V0) { switch (model) { - case Config::Dieterich: - return std::make_shared<DieterichStateUpdater<ScalarVector, Vector>>( + case Config::AgeingLaw: + return std::make_shared<AgeingLawStateUpdater<ScalarVector, Vector>>( alpha_initial, frictionalNodes, L, V0); - case Config::Ruina: - return std::make_shared<RuinaStateUpdater<ScalarVector, Vector>>( + case Config::SlipLaw: + return std::make_shared<SlipLawStateUpdater<ScalarVector, Vector>>( alpha_initial, frictionalNodes, L, V0); default: assert(false); diff --git a/src/state/dieterichstateupdater.hh b/src/state/ageinglawstateupdater.hh similarity index 75% rename from src/state/dieterichstateupdater.hh rename to src/state/ageinglawstateupdater.hh index f8414bd4468fc9fbdc2db009b6ed0c6ef120ba9c..da2ed02da74f8b86a8a3b380d24faba0c86f74ad 100644 --- a/src/state/dieterichstateupdater.hh +++ b/src/state/ageinglawstateupdater.hh @@ -1,13 +1,13 @@ -#ifndef DIETERICH_STATE_UPDATER_HH -#define DIETERICH_STATE_UPDATER_HH +#ifndef SRC_STATE_AGEINGLAWSTATEUPDATER_HH +#define SRC_STATE_AGEINGLAWSTATEUPDATER_HH #include "tobool.hh" #include "stateupdater.hh" template <class ScalarVector, class Vector> -class DieterichStateUpdater : public StateUpdater<ScalarVector, Vector> { +class AgeingLawStateUpdater : public StateUpdater<ScalarVector, Vector> { public: - DieterichStateUpdater(ScalarVector _alpha_initial, + AgeingLawStateUpdater(ScalarVector _alpha_initial, Dune::BitSetVector<1> const &_nodes, double _L, double _V0); @@ -26,18 +26,18 @@ class DieterichStateUpdater : public StateUpdater<ScalarVector, Vector> { }; template <class ScalarVector, class Vector> -DieterichStateUpdater<ScalarVector, Vector>::DieterichStateUpdater( +AgeingLawStateUpdater<ScalarVector, Vector>::AgeingLawStateUpdater( ScalarVector _alpha_initial, Dune::BitSetVector<1> const &_nodes, double _L, double _V0) : alpha(_alpha_initial), nodes(_nodes), L(_L), V0(_V0) {} template <class ScalarVector, class Vector> -void DieterichStateUpdater<ScalarVector, Vector>::nextTimeStep() { +void AgeingLawStateUpdater<ScalarVector, Vector>::nextTimeStep() { alpha_o = alpha; } template <class ScalarVector, class Vector> -void DieterichStateUpdater<ScalarVector, Vector>::setup(double _tau) { +void AgeingLawStateUpdater<ScalarVector, Vector>::setup(double _tau) { tau = _tau; } @@ -53,7 +53,7 @@ double liftSingularity(double c, double x) { } template <class ScalarVector, class Vector> -void DieterichStateUpdater<ScalarVector, Vector>::solve( +void AgeingLawStateUpdater<ScalarVector, Vector>::solve( Vector const &velocity_field) { for (size_t i = 0; i < nodes.size(); ++i) { if (not toBool(nodes[i])) @@ -67,9 +67,8 @@ void DieterichStateUpdater<ScalarVector, Vector>::solve( } template <class ScalarVector, class Vector> -void DieterichStateUpdater<ScalarVector, Vector>::extractAlpha( +void AgeingLawStateUpdater<ScalarVector, Vector>::extractAlpha( ScalarVector &_alpha) { _alpha = alpha; } - #endif diff --git a/src/state/ruinastateupdater.hh b/src/state/sliplawstateupdater.hh similarity index 66% rename from src/state/ruinastateupdater.hh rename to src/state/sliplawstateupdater.hh index 616a837b620eaca1e8d7452e22ead8cc35229acd..8f07fce69f25677d31ee0cdf1a30fdf307d82dc1 100644 --- a/src/state/ruinastateupdater.hh +++ b/src/state/sliplawstateupdater.hh @@ -1,14 +1,15 @@ -#ifndef RUINA_STATE_UPDATER_HH -#define RUINA_STATE_UPDATER_HH +#ifndef SRC_STATE_SLIPLAWSTATEUPDATER_HH +#define SRC_STATE_SLIPLAWSTATEUPDATER_HH #include "tobool.hh" #include "stateupdater.hh" template <class ScalarVector, class Vector> -class RuinaStateUpdater : public StateUpdater<ScalarVector, Vector> { +class SlipLawStateUpdater : public StateUpdater<ScalarVector, Vector> { public: - RuinaStateUpdater(ScalarVector _alpha_initial, - Dune::BitSetVector<1> const &_nodes, double _L, double _V0); + SlipLawStateUpdater(ScalarVector _alpha_initial, + Dune::BitSetVector<1> const &_nodes, double _L, + double _V0); void virtual nextTimeStep(); void virtual setup(double _tau); @@ -25,23 +26,23 @@ class RuinaStateUpdater : public StateUpdater<ScalarVector, Vector> { }; template <class ScalarVector, class Vector> -RuinaStateUpdater<ScalarVector, Vector>::RuinaStateUpdater( +SlipLawStateUpdater<ScalarVector, Vector>::SlipLawStateUpdater( ScalarVector _alpha_initial, Dune::BitSetVector<1> const &_nodes, double _L, double _V0) : alpha(_alpha_initial), nodes(_nodes), L(_L), V0(_V0) {} template <class ScalarVector, class Vector> -void RuinaStateUpdater<ScalarVector, Vector>::nextTimeStep() { +void SlipLawStateUpdater<ScalarVector, Vector>::nextTimeStep() { alpha_o = alpha; } template <class ScalarVector, class Vector> -void RuinaStateUpdater<ScalarVector, Vector>::setup(double _tau) { +void SlipLawStateUpdater<ScalarVector, Vector>::setup(double _tau) { tau = _tau; } template <class ScalarVector, class Vector> -void RuinaStateUpdater<ScalarVector, Vector>::solve( +void SlipLawStateUpdater<ScalarVector, Vector>::solve( Vector const &velocity_field) { for (size_t i = 0; i < nodes.size(); ++i) { if (not toBool(nodes[i])) @@ -55,7 +56,7 @@ void RuinaStateUpdater<ScalarVector, Vector>::solve( } template <class ScalarVector, class Vector> -void RuinaStateUpdater<ScalarVector, Vector>::extractAlpha( +void SlipLawStateUpdater<ScalarVector, Vector>::extractAlpha( ScalarVector &_alpha) { _alpha = alpha; }