Skip to content
Snippets Groups Projects
Commit c6a767fd authored by Elias Pipping's avatar Elias Pipping
Browse files

[Cleanup] Rename: Global{Nonlinearity -> Friction}

parent a5e1e6b2
Branches
No related tags found
No related merge requests found
#ifndef DUNE_TECTONIC_GLOBALNONLINEARITY_HH #ifndef DUNE_TECTONIC_GLOBALFRICTION_HH
#define DUNE_TECTONIC_GLOBALNONLINEARITY_HH #define DUNE_TECTONIC_GLOBALFRICTION_HH
#include <dune/common/fmatrix.hh> #include <dune/common/fmatrix.hh>
#include <dune/common/fvector.hh> #include <dune/common/fvector.hh>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
#include "localfriction.hh" #include "localfriction.hh"
template <class Matrix, class Vector> class GlobalNonlinearity { template <class Matrix, class Vector> class GlobalFriction {
protected: protected:
using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>; using ScalarVector = Dune::BlockVector<Dune::FieldVector<double, 1>>;
......
...@@ -12,17 +12,17 @@ ...@@ -12,17 +12,17 @@
#include <dune/tectonic/globalfrictiondata.hh> #include <dune/tectonic/globalfrictiondata.hh>
#include "globalnonlinearity.hh" #include "globalfriction.hh"
#include "frictionpotential.hh" #include "frictionpotential.hh"
template <class Matrix, class Vector, class GridView> template <class Matrix, class Vector, class GridView>
class GlobalRuinaNonlinearity : public GlobalNonlinearity<Matrix, Vector> { class GlobalRuinaNonlinearity : public GlobalFriction<Matrix, Vector> {
public: public:
using GlobalNonlinearity<Matrix, Vector>::block_size; using GlobalFriction<Matrix, Vector>::block_size;
using typename GlobalNonlinearity<Matrix, Vector>::Friction; using typename GlobalFriction<Matrix, Vector>::Friction;
private: private:
using typename GlobalNonlinearity<Matrix, Vector>::ScalarVector; using typename GlobalFriction<Matrix, Vector>::ScalarVector;
public: public:
GlobalRuinaNonlinearity(BoundaryPatch<GridView> const &frictionalBoundary, GlobalRuinaNonlinearity(BoundaryPatch<GridView> const &frictionalBoundary,
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
#include <dune/tnnmg/problem-classes/bisection.hh> #include <dune/tnnmg/problem-classes/bisection.hh>
#include <dune/tnnmg/problem-classes/blocknonlineargsproblem.hh> #include <dune/tnnmg/problem-classes/blocknonlineargsproblem.hh>
#include "globalnonlinearity.hh" #include "globalfriction.hh"
#include "minimisation.hh" #include "minimisation.hh"
#include "mydirectionalconvexfunction.hh" #include "mydirectionalconvexfunction.hh"
#include "quadraticenergy.hh" #include "quadraticenergy.hh"
...@@ -106,7 +106,7 @@ class MyBlockProblem : /* NOT PUBLIC */ BlockNonlinearGSProblem<ConvexProblem> { ...@@ -106,7 +106,7 @@ class MyBlockProblem : /* NOT PUBLIC */ BlockNonlinearGSProblem<ConvexProblem> {
v /= vnorm; // Rescale for numerical stability v /= vnorm; // Rescale for numerical stability
MyDirectionalConvexFunction< MyDirectionalConvexFunction<
GlobalNonlinearity<MatrixType, VectorType>> const GlobalFriction<MatrixType, VectorType>> const
psi(computeDirectionalA(problem_.A, v), psi(computeDirectionalA(problem_.A, v),
computeDirectionalb(problem_.A, problem_.f, u, v), problem_.phi, u, v); computeDirectionalb(problem_.A, problem_.f, u, v), problem_.phi, u, v);
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
#include <dune/tnnmg/problem-classes/convexproblem.hh> #include <dune/tnnmg/problem-classes/convexproblem.hh>
#include <dune/tectonic/myblockproblem.hh> #include <dune/tectonic/myblockproblem.hh>
#include <dune/tectonic/globalnonlinearity.hh> #include <dune/tectonic/globalfriction.hh>
#include "assemblers.hh" #include "assemblers.hh"
#include "tobool.hh" #include "tobool.hh"
...@@ -249,9 +249,9 @@ int main(int argc, char *argv[]) { ...@@ -249,9 +249,9 @@ int main(int argc, char *argv[]) {
body.getYoungModulus(), body.getYoungModulus(),
body.getPoissonRatio(), u_initial); body.getPoissonRatio(), u_initial);
MyGlobalFrictionData<dims> frictionInfo(parset.sub("boundary.friction")); MyGlobalFrictionData<dims> frictionInfo(parset.sub("boundary.friction"));
auto myGlobalNonlinearity = myAssembler.assembleFrictionNonlinearity( auto myGlobalFriction = myAssembler.assembleFrictionNonlinearity(
frictionalBoundary, frictionInfo, normalStress); frictionalBoundary, frictionInfo, normalStress);
myGlobalNonlinearity->updateAlpha(alpha_initial); myGlobalFriction->updateAlpha(alpha_initial);
Vector v_initial(fineVertexCount); Vector v_initial(fineVertexCount);
v_initial = 0.0; v_initial = 0.0;
...@@ -273,7 +273,7 @@ int main(int argc, char *argv[]) { ...@@ -273,7 +273,7 @@ int main(int argc, char *argv[]) {
Arithmetic::addProduct(accelerationRHS, A, u_initial); Arithmetic::addProduct(accelerationRHS, A, u_initial);
Arithmetic::addProduct(accelerationRHS, C, v_initial); Arithmetic::addProduct(accelerationRHS, C, v_initial);
// NOTE: We assume differentiability of Psi at 0 here! // NOTE: We assume differentiability of Psi at 0 here!
myGlobalNonlinearity->addGradient(v_initial, accelerationRHS); myGlobalFriction->addGradient(v_initial, accelerationRHS);
accelerationRHS *= -1.0; accelerationRHS *= -1.0;
accelerationRHS += ell; accelerationRHS += ell;
} }
...@@ -309,7 +309,7 @@ int main(int argc, char *argv[]) { ...@@ -309,7 +309,7 @@ int main(int argc, char *argv[]) {
verticalSurfaceWriter.writeKinetics(_u, _v); verticalSurfaceWriter.writeKinetics(_u, _v);
ScalarVector c; ScalarVector c;
myGlobalNonlinearity->coefficientOfFriction(_v, c); myGlobalFriction->coefficientOfFriction(_v, c);
frictionWriter.writeKinetics(_u, _v); frictionWriter.writeKinetics(_u, _v);
frictionWriter.writeOther(c, _alpha); frictionWriter.writeOther(c, _alpha);
}; };
...@@ -334,7 +334,7 @@ int main(int argc, char *argv[]) { ...@@ -334,7 +334,7 @@ int main(int argc, char *argv[]) {
// Set up TNNMG solver // Set up TNNMG solver
using NonlinearFactory = using NonlinearFactory =
SolverFactory<dims, MyBlockProblem<ConvexProblem< SolverFactory<dims, MyBlockProblem<ConvexProblem<
GlobalNonlinearity<Matrix, Vector>, Matrix>>, GlobalFriction<Matrix, Vector>, Matrix>>,
Grid>; Grid>;
NonlinearFactory factory(parset.sub("solver.tnnmg"), refinements, *grid, NonlinearFactory factory(parset.sub("solver.tnnmg"), refinements, *grid,
dirichletNodes); dirichletNodes);
...@@ -396,11 +396,11 @@ int main(int argc, char *argv[]) { ...@@ -396,11 +396,11 @@ int main(int argc, char *argv[]) {
size_t iterationCounter; size_t iterationCounter;
auto solveVelocityProblem = [&](Vector &_velocityIterate, auto solveVelocityProblem = [&](Vector &_velocityIterate,
ScalarVector const &_alpha) { ScalarVector const &_alpha) {
myGlobalNonlinearity->updateAlpha(_alpha); myGlobalFriction->updateAlpha(_alpha);
// NIT: Do we really need to pass u here? // NIT: Do we really need to pass u here?
typename NonlinearFactory::ConvexProblem convexProblem( typename NonlinearFactory::ConvexProblem convexProblem(
1.0, velocityMatrix, *myGlobalNonlinearity, velocityRHS, 1.0, velocityMatrix, *myGlobalFriction, velocityRHS,
_velocityIterate); _velocityIterate);
typename NonlinearFactory::BlockProblem velocityProblem(parset, typename NonlinearFactory::BlockProblem velocityProblem(parset,
convexProblem); convexProblem);
......
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
#include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.hh> #include <dune/tnnmg/problem-classes/blocknonlineartnnmgproblem.hh>
#include <dune/tnnmg/problem-classes/convexproblem.hh> #include <dune/tnnmg/problem-classes/convexproblem.hh>
#include <dune/tectonic/globalnonlinearity.hh> #include <dune/tectonic/globalfriction.hh>
#include <dune/tectonic/myblockproblem.hh> #include <dune/tectonic/myblockproblem.hh>
template class SolverFactory< template class SolverFactory<
DIM, DIM,
MyBlockProblem<ConvexProblem<GlobalNonlinearity<Matrix, Vector>, Matrix>>, MyBlockProblem<ConvexProblem<GlobalFriction<Matrix, Vector>, Matrix>>,
Grid>; Grid>;
template class SolverFactory< template class SolverFactory<
DIM, BlockNonlinearTNNMGProblem< DIM, BlockNonlinearTNNMGProblem<
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment