MercuryDPM  0.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Matrix.h File Reference
#include <cmath>
#include <sstream>
#include "Vector.h"

Go to the source code of this file.

Classes

class  Matrix3D
 Implementation of a 3D matrix. More...
 

Functions

Matrix3D Dyadic (Vec3D A, Vec3D B)
 calculates the dyadic product ( $ A \otimes B $) More...
 
Matrix3D Cross (const Vec3D &A, const Matrix3D &B)
 

Function Documentation

Matrix3D Cross ( const Vec3D A,
const Matrix3D B 
)

Definition at line 198 of file Matrix.h.

References Vec3D::X, Matrix3D::XX, Matrix3D::XY, Matrix3D::XZ, Vec3D::Y, Matrix3D::YX, Matrix3D::YY, Matrix3D::YZ, Vec3D::Z, Matrix3D::ZX, Matrix3D::ZY, and Matrix3D::ZZ.

Referenced by FiniteWall::add_finite_wall(), ChuteWithHopperAndInset::add_hopper(), ChuteWithHopper::add_hopper(), MD::compute_internal_forces(), MD::compute_plastic_internal_forces(), MD::compute_walls(), FiniteWall::create_open_prism_wall(), FiniteWall::create_prism_wall(), StatisticsVector< T >::evaluate_force_statistics(), StatisticsVector< T >::evaluate_particle_statistics(), FiniteAxisSymmetricWall::get_distance_and_normal(), and AngledPeriodicBoundary::set().

199 {
200  return Matrix3D(
201  A.Y*B.ZX-A.Z*B.YX, A.Y*B.ZY-A.Z*B.YY, A.Y*B.ZZ-A.Z*B.YZ,
202  A.Z*B.XX-A.X*B.ZX, A.Z*B.XY-A.X*B.ZY, A.Z*B.XZ-A.X*B.ZZ,
203  A.X*B.YX-A.Y*B.XX, A.X*B.YY-A.Y*B.XY, A.X*B.YZ-A.Y*B.XZ);
204 }
Mdouble XY
Definition: Matrix.h:39
Mdouble X
Definition: Vector.h:44
Mdouble ZY
Definition: Matrix.h:39
Mdouble XZ
Definition: Matrix.h:39
Mdouble ZX
Definition: Matrix.h:39
Mdouble ZZ
Definition: Matrix.h:39
Mdouble YZ
Definition: Matrix.h:39
Mdouble YX
Definition: Matrix.h:39
Mdouble Y
Definition: Vector.h:44
Mdouble XX
Definition: Matrix.h:39
Mdouble YY
Definition: Matrix.h:39
Implementation of a 3D matrix.
Definition: Matrix.h:35
Mdouble Z
Definition: Vector.h:44
Matrix3D Dyadic ( Vec3D  A,
Vec3D  B 
)

calculates the dyadic product ( $ A \otimes B $)

Definition at line 191 of file Matrix.h.

References Vec3D::X, Vec3D::Y, and Vec3D::Z.

Referenced by StatisticsVector< T >::evaluate_particle_statistics(), and StatisticsVector< T >::gather_statistics_collision().

191  {
192  return Matrix3D(A.X*B.X, A.X*B.Y, A.X*B.Z,
193  A.Y*B.X, A.Y*B.Y, A.Y*B.Z,
194  A.Z*B.X, A.Z*B.Y, A.Z*B.Z);
195 }
Mdouble X
Definition: Vector.h:44
Mdouble Y
Definition: Vector.h:44
Implementation of a 3D matrix.
Definition: Matrix.h:35
Mdouble Z
Definition: Vector.h:44