diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 2067be0e554bc686fadf179163be42aa3be8fed7..e39e754ca1aecc4971b4e228a6cf74fd8a22a575 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -282,6 +282,25 @@ int main(int argc, char *argv[]) { print_evolution<SingletonVectorType, VectorType>( frictionalNodes, *s4_new, u4, functions.get("neumannCondition"), run, h * run, octave_writer); + + if (parset.get<bool>("printCoefficient")) + for (size_t i = 0; i < frictionalNodes.size(); ++i) { + if (!frictionalNodes[i][0]) + continue; + + double const V = u4_diff[i].two_norm(); + double const state = (*s4_new)[i]; + auto const L = parset.get<double>("boundary.friction.ruina.L"); + auto const a = parset.get<double>("boundary.friction.ruina.a"); + auto const b = parset.get<double>("boundary.friction.ruina.b"); + auto const eta = parset.get<double>("boundary.friction.eta"); + auto const mu = parset.get<double>("boundary.friction.mu"); + + std::cout << mu + a *std::log(V * eta) + + b * (state - std::log(eta * L)) << std::endl; + + break; + } } u4 += u4_diff; diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset index cf4ef4416d09e248d4b7710d2f5cfd0a181fd71d..1f660220d802b281cfce4b0801cbd20dac65050c 100644 --- a/src/one-body-sample.parset +++ b/src/one-body-sample.parset @@ -2,7 +2,8 @@ timesteps = 600 verbose = false -printEvolution = true +printCoefficient = true +printEvolution = false printFrictionalBoundary = false printProgress = false @@ -13,7 +14,7 @@ enable = false iterations = 50 [grid] -refinements = 6 +refinements = 4 [body] E = 1e8