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

MyNonlinearity -> LocalNonlinearity

parent 88c8c05c
Branches
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
//#include <dune/common/bitsetvector.hh>
#include <dune/common/fvector.hh>
#include <dune/tectonic/mynonlinearity.hh>
#include <dune/tectonic/localnonlinearity.hh>
namespace Dune {
template <int dim, class OuterFunctionType> class GlobalNonlinearity {
......
/* -*- mode:c++; mode:semantic -*- */
#ifndef MYNONLINEARITY_HH
#define MYNONLINEARITY_HH
#ifndef LOCAL_NONLINEARITY_HH
#define LOCAL_NONLINEARITY_HH
#include <dune/common/fvector.hh>
#include <dune/common/fmatrix.hh>
......@@ -13,12 +13,12 @@
#include "nicefunction.hh"
namespace Dune {
template <int dimension> class MyNonlinearity {
template <int dimension> class LocalNonlinearity {
public:
typedef FieldVector<double, dimension> VectorType;
typedef FieldMatrix<double, dimension, dimension> MatrixType;
MyNonlinearity(NiceFunction const &func) : func_(func) {}
LocalNonlinearity(NiceFunction const &func) : func_(func) {}
double operator()(VectorType const x) const {
double ret;
......
......@@ -9,7 +9,7 @@
#include <dune/tnnmg/problem-classes/bisection.hh>
#include <dune/tnnmg/problem-classes/onedconvexfunction.hh>
#include "mynonlinearity.hh"
#include "localnonlinearity.hh"
#include "nicefunction.hh"
#include "samplefunctional.hh"
......@@ -99,7 +99,7 @@ class MyBlockProblem<MyConvexProblemTypeTEMPLATE>::IterateObject {
FunctionType f;
problem.newphi.restriction(m, f);
Dune::MyNonlinearity<block_size> const phi(f);
Dune::LocalNonlinearity<block_size> const phi(f);
Dune::SampleFunctional<block_size> localJ(*localA, localb, phi);
LocalVectorType correction;
......
......@@ -12,7 +12,7 @@
#include <dune/tnnmg/problem-classes/bisection.hh>
#include <dune/tnnmg/problem-classes/directionalconvexfunction.hh>
#include "mynonlinearity.hh"
#include "localnonlinearity.hh"
namespace Dune {
template <int dim> class SampleFunctional {
......@@ -20,7 +20,7 @@ template <int dim> class SampleFunctional {
typedef FieldVector<double, dim> SmallVector;
typedef FieldMatrix<double, dim, dim> SmallMatrix;
typedef MyNonlinearity<dim> NonlinearityType;
typedef LocalNonlinearity<dim> NonlinearityType;
SampleFunctional(SmallMatrix const &A, SmallVector const &b,
NonlinearityType const &phi)
......@@ -159,9 +159,9 @@ void minimise(Functional const J, typename Functional::SmallVector &x,
J.A.mmv(x, tmp); // b-Au
double const JRestb = tmp * descDir; // <b-Au,v>
typedef typename Functional::NonlinearityType MyNonlinearityType;
MyNonlinearityType phi = J.phi;
typedef DirectionalConvexFunction<MyNonlinearityType>
typedef typename Functional::NonlinearityType LocalNonlinearityType;
LocalNonlinearityType phi = J.phi;
typedef DirectionalConvexFunction<LocalNonlinearityType>
MyDirectionalConvexFunctionType;
// FIXME: We cannot pass J.phi directly because the constructor
// does not allow for constant arguments
......
......@@ -42,7 +42,7 @@ Evaluate x -> 1/2<Ax,x> - <b,x> + H(|x|) at each point y that is a column vector
default:
assert(false);
}
Dune::MyNonlinearity<dim> phi(*foo);
Dune::LocalNonlinearity<dim> phi(*foo);
Functional J(A, b, phi);
Matrix points(args(3).matrix_value());
......
......@@ -42,7 +42,7 @@ Make a minimisation step of x -> 1/2<Ax,x> - <b,x> + H(|x|) using DUNE starting
default:
assert(false);
}
Dune::MyNonlinearity<dim> phi(*foo);
Dune::LocalNonlinearity<dim> phi(*foo);
Functional J(A, b, phi);
ColumnVector start_octave(args(3).vector_value());
......
......@@ -36,7 +36,7 @@ void testIdentity() {
b[1] = 2;
Dune::LinearFunction f(1);
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start = b;
start *= 17;
......@@ -71,7 +71,7 @@ void testSampleFunction() {
b[1] = 2;
Dune::SampleFunction<2> f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start = b;
start *= 17;
......@@ -120,7 +120,7 @@ void testSampleFunctionNonsmooth() {
b[1] = 2;
Dune::SampleFunction<2> f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start;
Functional::SmallVector error;
......@@ -182,7 +182,7 @@ void testTrivialFunction() {
b[1] = 2;
Dune::TrivialFunction f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start = b;
start *= 17;
......@@ -226,7 +226,7 @@ void testHorribleFunction() {
b[1] = 2;
Dune::HorribleFunction f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start = b;
start *= 17;
......@@ -261,7 +261,7 @@ void testHorribleFunctionLogarithmic() {
b[1] = 2;
Dune::HorribleFunctionLogarithmic f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start = b;
start *= 17;
......@@ -300,7 +300,7 @@ void testSampleFunction3D() {
b[2] = 3;
Dune::SampleFunction<2> f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start = b;
start *= 17;
......@@ -338,7 +338,7 @@ void testSampleFunction2() {
b[1] = 1;
Dune::SampleFunction<2> f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start = b;
......@@ -372,7 +372,7 @@ void testSampleFunctionSteep1() {
b[1] = 2;
Dune::SampleFunction<2> f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start;
......@@ -409,7 +409,7 @@ void testSampleFunctionSteep2() {
b[1] = 2.5;
Dune::SampleFunction<2> f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start;
......@@ -446,7 +446,7 @@ void testSteepFunction() {
b[1] = 2.5;
Dune::SampleFunction<100> f;
Functional J(A, b, Dune::MyNonlinearity<dim>(f));
Functional J(A, b, Dune::LocalNonlinearity<dim>(f));
Functional::SmallVector start;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment