Open Qmin  0.8.0
GPU-accelerated Q-tensor-based liquid crystal simulations
Public Member Functions | Public Attributes | Friends | List of all members
Matrix3x3 Struct Reference

#include <matrix.h>

Public Member Functions

HOSTDEVICE Matrix3x3 ()
 Default constructor is the identity matrix. More...
 
HOSTDEVICE Matrix3x3 (scalar y11, scalar y12, scalar y13, scalar y21, scalar y22, scalar y23, scalar y31, scalar y32, scalar y33)
 Generic constructor is whatever you wnat it to be. More...
 
HOSTDEVICE void set (scalar y11, scalar y12, scalar y13, scalar y21, scalar y22, scalar y23, scalar y31, scalar y32, scalar y33)
 Set the values to some desired set. More...
 
HOSTDEVICE void transpose ()
 Transpose. More...
 
HOSTDEVICE void operator= (const Matrix3x3 &m2)
 assignment operator More...
 
HOSTDEVICE void operator *= (const Matrix3x3 &m2)
 matrix multiplication operator More...
 
HOSTDEVICE void operator *= (scalar a)
 scalar multiplication operator More...
 
HOSTDEVICE void operator+= (const Matrix3x3 &m2)
 Matrix addition operator. More...
 
HOSTDEVICE void operator-= (const Matrix3x3 &m2)
 Matrix subtraction operator. More...
 

Public Attributes

scalar x11
 The entries of the matrix. More...
 
scalar x12
 
scalar x13
 
scalar x21
 
scalar x22
 
scalar x23
 
scalar x31
 
scalar x32
 
scalar x33
 

Friends

HOSTDEVICE friend Matrix3x3 operator * (const Matrix3x3 &m1, const Matrix3x3 &m2)
 matrix multiplication operator More...
 
HOSTDEVICE friend Matrix3x3 operator * (const Matrix3x3 &m, const scalar a)
 scalar right multiplication operator More...
 
HOSTDEVICE friend Matrix3x3 operator * (const scalar a, const Matrix3x3 &m)
 scalar left multiplication operator More...
 
HOSTDEVICE friend Matrix3x3 operator+ (const Matrix3x3 &m1, const Matrix3x3 &m2)
 Matrix addition operator. More...
 
HOSTDEVICE friend Matrix3x3 operator- (const Matrix3x3 &m1, const Matrix3x3 &m2)
 matrix subtraction operator More...
 
HOSTDEVICE friend scalar3 operator * (const scalar3 &v, const Matrix3x3 &m)
 matrix-vector multiplication operator More...
 
HOSTDEVICE friend scalar3 operator * (const Matrix3x3 &m, const scalar3 &v)
 matrix-vector multiplication operator More...
 

Detailed Description

Matrix3x3 provides a simple interface for operations using 3x3 matrices.

Constructor & Destructor Documentation

◆ Matrix3x3() [1/2]

HOSTDEVICE Matrix3x3::Matrix3x3 ( )
inline

Default constructor is the identity matrix.

◆ Matrix3x3() [2/2]

HOSTDEVICE Matrix3x3::Matrix3x3 ( scalar  y11,
scalar  y12,
scalar  y13,
scalar  y21,
scalar  y22,
scalar  y23,
scalar  y31,
scalar  y32,
scalar  y33 
)
inline

Generic constructor is whatever you wnat it to be.

Member Function Documentation

◆ set()

HOSTDEVICE void Matrix3x3::set ( scalar  y11,
scalar  y12,
scalar  y13,
scalar  y21,
scalar  y22,
scalar  y23,
scalar  y31,
scalar  y32,
scalar  y33 
)
inline

Set the values to some desired set.

References x11, x12, x13, x21, x22, x23, x31, x32, and x33.

Referenced by landauDeGennesLC::computeStressTensors(), operator *=(), operator+=(), operator-=(), and operator=().

◆ transpose()

HOSTDEVICE void Matrix3x3::transpose ( )
inline

Transpose.

References scalar, x12, x13, x21, x23, x31, and x32.

◆ operator=()

HOSTDEVICE void Matrix3x3::operator= ( const Matrix3x3 m2)
inline

assignment operator

References set(), x11, x12, x13, x21, x22, x23, x31, x32, and x33.

◆ operator *=() [1/2]

HOSTDEVICE void Matrix3x3::operator *= ( const Matrix3x3 m2)
inline

matrix multiplication operator

References set(), x11, x12, x13, x21, x22, x23, x31, x32, and x33.

◆ operator *=() [2/2]

HOSTDEVICE void Matrix3x3::operator *= ( scalar  a)
inline

scalar multiplication operator

References set(), x11, x12, x13, x21, x22, x23, x31, x32, and x33.

◆ operator+=()

HOSTDEVICE void Matrix3x3::operator+= ( const Matrix3x3 m2)
inline

Matrix addition operator.

References set(), x11, x12, x13, x21, x22, x23, x31, x32, and x33.

◆ operator-=()

HOSTDEVICE void Matrix3x3::operator-= ( const Matrix3x3 m2)
inline

Matrix subtraction operator.

References set(), x11, x12, x13, x21, x22, x23, x31, x32, and x33.

Friends And Related Function Documentation

◆ operator * [1/5]

HOSTDEVICE friend Matrix3x3 operator * ( const Matrix3x3 m1,
const Matrix3x3 m2 
)
friend

matrix multiplication operator

◆ operator * [2/5]

HOSTDEVICE friend Matrix3x3 operator * ( const Matrix3x3 m,
const scalar  a 
)
friend

scalar right multiplication operator

◆ operator * [3/5]

HOSTDEVICE friend Matrix3x3 operator * ( const scalar  a,
const Matrix3x3 m 
)
friend

scalar left multiplication operator

◆ operator+

HOSTDEVICE friend Matrix3x3 operator+ ( const Matrix3x3 m1,
const Matrix3x3 m2 
)
friend

Matrix addition operator.

◆ operator-

HOSTDEVICE friend Matrix3x3 operator- ( const Matrix3x3 m1,
const Matrix3x3 m2 
)
friend

matrix subtraction operator

◆ operator * [4/5]

HOSTDEVICE friend scalar3 operator * ( const scalar3 v,
const Matrix3x3 m 
)
friend

matrix-vector multiplication operator

◆ operator * [5/5]

HOSTDEVICE friend scalar3 operator * ( const Matrix3x3 m,
const scalar3 v 
)
friend

matrix-vector multiplication operator

Member Data Documentation

◆ x11

scalar Matrix3x3::x11

◆ x12

scalar Matrix3x3::x12

◆ x13

scalar Matrix3x3::x13

◆ x21

scalar Matrix3x3::x21

◆ x22

scalar Matrix3x3::x22

◆ x23

scalar Matrix3x3::x23

◆ x31

scalar Matrix3x3::x31

◆ x32

scalar Matrix3x3::x32

◆ x33

scalar Matrix3x3::x33

The documentation for this struct was generated from the following file: