Skip to content
Snippets Groups Projects
Commit 9da364ed authored by Oliver Sander's avatar Oliver Sander Committed by sander
Browse files

remove trailing whitespace

[[Imported from SVN: r9383]]
parent acb2f117
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
#include <dune/common/array.hh>
#include <dune/common/fmatrix.hh>
/** \brief A third-rank tensor
*/
template <class T, int N1, int N2, int N3>
......@@ -15,10 +15,10 @@ class Tensor3
: public Dune::array<Dune::FieldMatrix<T,N2,N3>,N1>
{
public:
/** \brief Default constructor */
Tensor3() {}
/** \brief Constructor from a scalar */
Tensor3(const T& c)
{
......@@ -34,7 +34,7 @@ class Tensor3
norm = std::max(norm, (*this)[i].infinity_norm());
return norm;
}
T frobenius_norm() const
{
T norm = 0;
......@@ -42,50 +42,50 @@ class Tensor3
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
norm += (*this)[i][j][k] * (*this)[i][j][k];
return std::sqrt(norm);
}
Tensor3<T,N1,N2,N3>& axpy(const T& alpha, const Tensor3<T,N1,N2,N3>& other)
{
for (int i=0; i<N1; i++)
(*this)[i].axpy(alpha,other[i]);
return *this;
}
static Tensor3<T,N1,N2,N3> product(const Dune::FieldVector<T,N1>& a, const Dune::FieldVector<T,N2>& b, const Dune::FieldVector<T,N3>& c)
{
Tensor3<T,N1,N2,N3> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
result[i][j][k] = a[i]*b[j]*c[k];
return result;
}
static Tensor3<T,N1,N2,N3> product(const Dune::FieldMatrix<T,N1,N2>& ab, const Dune::FieldVector<T,N3>& c)
{
Tensor3<T,N1,N2,N3> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
result[i][j][k] = ab[i][j]*c[k];
return result;
}
static Tensor3<T,N1,N2,N3> product(const Dune::FieldVector<T,N1>& a, const Dune::FieldMatrix<T,N2,N3>& bc)
{
Tensor3<T,N1,N2,N3> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
result[i][j][k] = a[i]*bc[j][k];
return result;
}
......@@ -93,7 +93,7 @@ class Tensor3
friend Tensor3<T,N1,N2,N4> operator*(const Tensor3<T,N1,N2,N3>& a, const Dune::FieldMatrix<T,N3,N4>& b)
{
Tensor3<T,N1,N2,N4> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N2; j++)
for (int k=0; k<N4; k++) {
......@@ -101,7 +101,7 @@ class Tensor3
for (int l=0; l<N3; l++)
result[i][j][k] += a[i][j][l]*b[l][k];
}
return result;
}
......@@ -109,7 +109,7 @@ class Tensor3
friend Tensor3<T,N1,N3,N4> operator*(const Dune::FieldMatrix<T,N1,N2>& a, const Tensor3<T,N2,N3,N4>& b)
{
Tensor3<T,N1,N3,N4> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N3; j++)
for (int k=0; k<N4; k++) {
......@@ -117,45 +117,45 @@ class Tensor3
for (int l=0; l<N2; l++)
result[i][j][k] += a[i][l]*b[l][j][k];
}
return result;
}
friend Tensor3<T,N1,N2,N3> operator+(const Tensor3<T,N1,N2,N3>& a, const Tensor3<T,N1,N2,N3>& b)
{
Tensor3<T,N1,N2,N3> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
result[i][j][k] = a[i][j][k] + b[i][j][k];
return result;
}
friend Tensor3<T,N1,N2,N3> operator-(const Tensor3<T,N1,N2,N3>& a, const Tensor3<T,N1,N2,N3>& b)
{
Tensor3<T,N1,N2,N3> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
result[i][j][k] = a[i][j][k] - b[i][j][k];
return result;
}
friend Tensor3<T,N1,N2,N3> operator*(const T& scalar, const Tensor3<T,N1,N2,N3>& tensor)
{
Tensor3<T,N1,N2,N3> result;
for (int i=0; i<N1; i++)
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
result[i][j][k] = scalar * tensor[i][j][k];
return result;
}
Tensor3<T,N1,N2,N3>& operator*=(const T& scalar)
......@@ -164,7 +164,7 @@ class Tensor3
for (int j=0; j<N2; j++)
for (int k=0; k<N3; k++)
(*this)[i][j][k] *= scalar;
return *this;
}
......@@ -174,7 +174,7 @@ class Tensor3
template <class T, int N1, int N2, int N3>
inline std::ostream& operator<< (std::ostream& s, const Tensor3<T,N1,N2,N3>& tensor)
{
for (int i=0; i<N1; i++)
for (int i=0; i<N1; i++)
s << tensor[i];
return s;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment