NAMD
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
Tensor Class Reference

#include <Tensor.h>

Public Member Functions

NAMD_HOST_DEVICE Tensor (void)
 
NAMD_HOST_DEVICE Tensor (const Tensor &t2)
 
NAMD_HOST_DEVICE ~Tensor (void)
 
NAMD_HOST_DEVICE Tensoroperator= (const Tensor &t2)
 
NAMD_HOST_DEVICE Tensoroperator= (const BigReal &r2)
 
NAMD_HOST_DEVICE Tensoroperator+= (const Tensor &t2)
 
NAMD_HOST_DEVICE Tensoroperator-= (const Tensor &t2)
 
NAMD_HOST_DEVICE Tensoroperator*= (const BigReal &r2)
 
NAMD_HOST_DEVICE Tensoroperator/= (const BigReal &r2)
 
NAMD_HOST_DEVICE void outerAdd (BigReal scale, const Vector &v1, const Vector &v2)
 

Static Public Member Functions

static NAMD_HOST_DEVICE Tensor identity (BigReal v1=1.0)
 
static NAMD_HOST_DEVICE Tensor diagonal (const Vector &v1)
 
static NAMD_HOST_DEVICE Tensor symmetric (const Vector &v1, const Vector &v2)
 
static NAMD_HOST_DEVICE Tensor triangular (const Vector &v1, const Vector &v2)
 

Public Attributes

BigReal xx
 
BigReal xy
 
BigReal xz
 
BigReal yx
 
BigReal yy
 
BigReal yz
 
BigReal zx
 
BigReal zy
 
BigReal zz
 

Friends

NAMD_HOST_DEVICE friend int operator== (const Tensor &t1, const Tensor &t2)
 
NAMD_HOST_DEVICE friend int operator!= (const Tensor &t1, const Tensor &t2)
 
NAMD_HOST_DEVICE friend Tensor operator+ (const Tensor &t1, const Tensor &t2)
 
NAMD_HOST_DEVICE friend Tensor operator- (const Tensor &t1, const Tensor &t2)
 
NAMD_HOST_DEVICE friend Tensor operator- (const Tensor &t1)
 
NAMD_HOST_DEVICE friend Tensor operator* (const BigReal &r1, const Tensor &t2)
 
NAMD_HOST_DEVICE friend Tensor operator* (const Tensor &t1, const BigReal &r2)
 
NAMD_HOST_DEVICE friend Tensor operator/ (const Tensor &t1, const BigReal &r2)
 
NAMD_HOST_DEVICE friend Vector operator* (const Tensor &t1, const Vector &v2)
 
NAMD_HOST_DEVICE friend Vector operator* (const Vector &v1, const Tensor &t2)
 
NAMD_HOST_DEVICE friend Tensor outer (const Vector &v1, const Vector &v2)
 
NAMD_HOST_DEVICE friend Tensor transpose (const Tensor &t1)
 
NAMD_HOST_DEVICE friend Tensor symmetric (const Tensor &t1)
 
NAMD_HOST_DEVICE friend Tensor triangular (const Tensor &t1)
 
NAMD_HOST_DEVICE friend Vector diagonal (const Tensor &t1)
 
NAMD_HOST_DEVICE friend Vector off_diagonal (const Tensor &t1)
 
NAMD_HOST_DEVICE friend BigReal trace (const Tensor &t1)
 

Detailed Description

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 15 of file Tensor.h.

Constructor & Destructor Documentation

◆ Tensor() [1/2]

NAMD_HOST_DEVICE Tensor::Tensor ( void  )
inline

Definition at line 21 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

21  {
22  xx=xy=xz=yx=yy=yz=zx=zy=zz=0.0;
23  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ Tensor() [2/2]

NAMD_HOST_DEVICE Tensor::Tensor ( const Tensor t2)
inline

Definition at line 25 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

25  {
26  xx = t2.xx; xy = t2.xy; xz = t2.xz;
27  yx = t2.yx; yy = t2.yy; yz = t2.yz;
28  zx = t2.zx; zy = t2.zy; zz = t2.zz;
29  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ ~Tensor()

NAMD_HOST_DEVICE Tensor::~Tensor ( void  )
inline

Definition at line 61 of file Tensor.h.

61 { }

Member Function Documentation

◆ diagonal()

static NAMD_HOST_DEVICE Tensor Tensor::diagonal ( const Vector v1)
inlinestatic

Definition at line 37 of file Tensor.h.

References Vector::x, xx, xy, xz, Vector::y, yx, yy, yz, Vector::z, zx, zy, and zz.

Referenced by Controller::berendsenPressure(), Controller::calcPressure(), GridforceFullBaseGrid::compute_VdV(), GridforceFullSubGrid::initialize(), Controller::langevinPiston1(), and Controller::langevinPiston2().

37  {
38  Tensor tmp;
39  tmp.xx = v1.x; tmp.xy = 0; tmp.xz = 0;
40  tmp.yx = 0; tmp.yy = v1.y; tmp.yz = 0;
41  tmp.zx = 0; tmp.zy = 0; tmp.zz = v1.z;
42  return tmp;
43  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal z
Definition: Vector.h:74
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal x
Definition: Vector.h:74
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal xy
Definition: Tensor.h:17
BigReal y
Definition: Vector.h:74
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ identity()

static NAMD_HOST_DEVICE Tensor Tensor::identity ( BigReal  v1 = 1.0)
inlinestatic

Definition at line 31 of file Tensor.h.

References xx, yy, and zz.

Referenced by Controller::berendsenPressure(), Controller::calcPressure(), Controller::Controller(), Controller::langevinPiston1(), Controller::langevinPiston2(), Controller::monteCarloPressure_prepare(), Sequencer::multigratorPressure(), and Controller::multigratorPressure().

31  {
32  Tensor tmp;
33  tmp.xx = tmp.yy = tmp.zz = v1;
34  return tmp;
35  }
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal yy
Definition: Tensor.h:18

◆ operator*=()

NAMD_HOST_DEVICE Tensor& Tensor::operator*= ( const BigReal r2)
inline

Definition at line 89 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

89  {
90  xx *= r2; xy *= r2; xz *= r2;
91  yx *= r2; yy *= r2; yz *= r2;
92  zx *= r2; zy *= r2; zz *= r2;
93  return *this;
94  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ operator+=()

NAMD_HOST_DEVICE Tensor& Tensor::operator+= ( const Tensor t2)
inline

Definition at line 75 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

75  {
76  xx += t2.xx; xy += t2.xy; xz += t2.xz;
77  yx += t2.yx; yy += t2.yy; yz += t2.yz;
78  zx += t2.zx; zy += t2.zy; zz += t2.zz;
79  return *this;
80  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ operator-=()

NAMD_HOST_DEVICE Tensor& Tensor::operator-= ( const Tensor t2)
inline

Definition at line 82 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

82  {
83  xx -= t2.xx; xy -= t2.xy; xz -= t2.xz;
84  yx -= t2.yx; yy -= t2.yy; yz -= t2.yz;
85  zx -= t2.zx; zy -= t2.zy; zz -= t2.zz;
86  return *this;
87  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ operator/=()

NAMD_HOST_DEVICE Tensor& Tensor::operator/= ( const BigReal r2)
inline

Definition at line 96 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

96  {
97  xx /= r2; xy /= r2; xz /= r2;
98  yx /= r2; yy /= r2; yz /= r2;
99  zx /= r2; zy /= r2; zz /= r2;
100  return *this;
101  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ operator=() [1/2]

NAMD_HOST_DEVICE Tensor& Tensor::operator= ( const Tensor t2)
inline

Definition at line 63 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

63  {
64  xx = t2.xx; xy = t2.xy; xz = t2.xz;
65  yx = t2.yx; yy = t2.yy; yz = t2.yz;
66  zx = t2.zx; zy = t2.zy; zz = t2.zz;
67  return *this;
68  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ operator=() [2/2]

NAMD_HOST_DEVICE Tensor& Tensor::operator= ( const BigReal r2)
inline

Definition at line 70 of file Tensor.h.

References xx, xy, xz, yx, yy, yz, zx, zy, and zz.

70  {
71  xx=xy=xz=yx=yy=yz=zx=zy=zz=r2;
72  return *this;
73  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ outerAdd()

NAMD_HOST_DEVICE void Tensor::outerAdd ( BigReal  scale,
const Vector v1,
const Vector v2 
)

Definition at line 255 of file Tensor.h.

References Vector::x, xx, xy, xz, Vector::y, yx, yy, yz, Vector::z, zx, zy, and zz.

Referenced by Sequencer::calcFixVirial(), Sequencer::multigratorPressure(), Sequencer::multigratorTemperature(), Sequencer::submitHalfstep(), Sequencer::submitMinimizeReductions(), and Sequencer::submitReductions().

255  {
256  xx += v1.x * v2.x * scale;
257  xy += v1.x * v2.y * scale;
258  xz += v1.x * v2.z * scale;
259  yx += v1.y * v2.x * scale;
260  yy += v1.y * v2.y * scale;
261  yz += v1.y * v2.z * scale;
262  zx += v1.z * v2.x * scale;
263  zy += v1.z * v2.y * scale;
264  zz += v1.z * v2.z * scale;
265 }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal z
Definition: Vector.h:74
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal x
Definition: Vector.h:74
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal y
Definition: Vector.h:74
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ symmetric()

static NAMD_HOST_DEVICE Tensor Tensor::symmetric ( const Vector v1,
const Vector v2 
)
inlinestatic

Definition at line 45 of file Tensor.h.

References Vector::x, xx, xy, xz, Vector::y, yx, yy, yz, Vector::z, zx, zy, and zz.

Referenced by Controller::Controller().

45  {
46  Tensor tmp;
47  tmp.xx = v1.x; tmp.xy = v2.x; tmp.xz = v2.y;
48  tmp.yx = v2.x; tmp.yy = v1.y; tmp.yz = v2.z;
49  tmp.zx = v2.y; tmp.zy = v2.z; tmp.zz = v1.z;
50  return tmp;
51  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal z
Definition: Vector.h:74
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal x
Definition: Vector.h:74
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal xy
Definition: Tensor.h:17
BigReal y
Definition: Vector.h:74
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ triangular()

static NAMD_HOST_DEVICE Tensor Tensor::triangular ( const Vector v1,
const Vector v2 
)
inlinestatic

Definition at line 53 of file Tensor.h.

References Vector::x, xx, xy, xz, Vector::y, yx, yy, yz, Vector::z, zx, zy, and zz.

53  {
54  Tensor tmp;
55  tmp.xx = v1.x; tmp.xy = v2.x; tmp.xz = v2.y;
56  tmp.yx = 0; tmp.yy = v1.y; tmp.yz = v2.z;
57  tmp.zx = 0; tmp.zy = 0; tmp.zz = v1.z;
58  return tmp;
59  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal z
Definition: Vector.h:74
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal x
Definition: Vector.h:74
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal xy
Definition: Tensor.h:17
BigReal y
Definition: Vector.h:74
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

Friends And Related Function Documentation

◆ diagonal

NAMD_HOST_DEVICE friend Vector diagonal ( const Tensor t1)
friend

Definition at line 194 of file Tensor.h.

194  {
195  return Vector(t1.xx,t1.yy,t1.zz);
196  }
Definition: Vector.h:72
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal yy
Definition: Tensor.h:18

◆ off_diagonal

NAMD_HOST_DEVICE friend Vector off_diagonal ( const Tensor t1)
friend

Definition at line 198 of file Tensor.h.

198  {
199  return Vector(t1.xy,t1.xz,t1.yz);
200  }
BigReal xz
Definition: Tensor.h:17
Definition: Vector.h:72
BigReal yz
Definition: Tensor.h:18
BigReal xy
Definition: Tensor.h:17

◆ operator!=

NAMD_HOST_DEVICE friend int operator!= ( const Tensor t1,
const Tensor t2 
)
friend

Definition at line 112 of file Tensor.h.

112  {
113  return ( ! ( t1 == t2 ) );
114  }

◆ operator* [1/4]

NAMD_HOST_DEVICE friend Tensor operator* ( const BigReal r1,
const Tensor t2 
)
friend

Definition at line 134 of file Tensor.h.

134  {
135  Tensor tmp(t2);
136  tmp *= r1;
137  return tmp;
138  }
Definition: Tensor.h:15

◆ operator* [2/4]

NAMD_HOST_DEVICE friend Tensor operator* ( const Tensor t1,
const BigReal r2 
)
friend

Definition at line 140 of file Tensor.h.

140  {
141  Tensor tmp(t1);
142  tmp *= r2;
143  return tmp;
144  }
Definition: Tensor.h:15

◆ operator* [3/4]

NAMD_HOST_DEVICE friend Vector operator* ( const Tensor t1,
const Vector v2 
)
friend

Definition at line 152 of file Tensor.h.

152  {
153  Vector tmp;
154  tmp.x = t1.xx * v2.x + t1.xy * v2.y + t1.xz * v2.z;
155  tmp.y = t1.yx * v2.x + t1.yy * v2.y + t1.yz * v2.z;
156  tmp.z = t1.zx * v2.x + t1.zy * v2.y + t1.zz * v2.z;
157  return tmp;
158  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
Definition: Vector.h:72
BigReal z
Definition: Vector.h:74
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal x
Definition: Vector.h:74
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal y
Definition: Vector.h:74
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ operator* [4/4]

NAMD_HOST_DEVICE friend Vector operator* ( const Vector v1,
const Tensor t2 
)
friend

Definition at line 160 of file Tensor.h.

160  {
161  Vector tmp;
162  tmp.x = t2.xx * v1.x + t2.yx * v1.y + t2.zx * v1.z;
163  tmp.y = t2.xy * v1.x + t2.yy * v1.y + t2.zy * v1.z;
164  tmp.z = t2.xz * v1.x + t2.yz * v1.y + t2.zz * v1.z;
165  return tmp;
166  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
Definition: Vector.h:72
BigReal z
Definition: Vector.h:74
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal x
Definition: Vector.h:74
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal y
Definition: Vector.h:74
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ operator+

NAMD_HOST_DEVICE friend Tensor operator+ ( const Tensor t1,
const Tensor t2 
)
friend

Definition at line 116 of file Tensor.h.

116  {
117  Tensor tmp(t1);
118  tmp += t2;
119  return tmp;
120  }
Definition: Tensor.h:15

◆ operator- [1/2]

NAMD_HOST_DEVICE friend Tensor operator- ( const Tensor t1,
const Tensor t2 
)
friend

Definition at line 122 of file Tensor.h.

122  {
123  Tensor tmp(t1);
124  tmp -= t2;
125  return tmp;
126  }
Definition: Tensor.h:15

◆ operator- [2/2]

NAMD_HOST_DEVICE friend Tensor operator- ( const Tensor t1)
friend

Definition at line 128 of file Tensor.h.

128  {
129  Tensor tmp(t1);
130  tmp *= -1.0;
131  return tmp;
132  }
Definition: Tensor.h:15

◆ operator/

NAMD_HOST_DEVICE friend Tensor operator/ ( const Tensor t1,
const BigReal r2 
)
friend

Definition at line 146 of file Tensor.h.

146  {
147  Tensor tmp(t1);
148  tmp /= r2;
149  return tmp;
150  }
Definition: Tensor.h:15

◆ operator==

NAMD_HOST_DEVICE friend int operator== ( const Tensor t1,
const Tensor t2 
)
friend

Definition at line 105 of file Tensor.h.

105  {
106  return (
107  t1.xx == t2.xx && t1.xy == t2.xy && t1.xz == t2.xz &&
108  t1.yx == t2.yx && t1.yy == t2.yy && t1.yz == t2.yz &&
109  t1.zx == t2.zx && t1.zy == t2.zy && t1.zz == t2.zz );
110  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ outer

NAMD_HOST_DEVICE friend Tensor outer ( const Vector v1,
const Vector v2 
)
friend

Definition at line 241 of file Tensor.h.

241  {
242  Tensor tmp;
243  tmp.xx = v1.x * v2.x;
244  tmp.xy = v1.x * v2.y;
245  tmp.xz = v1.x * v2.z;
246  tmp.yx = v1.y * v2.x;
247  tmp.yy = v1.y * v2.y;
248  tmp.yz = v1.y * v2.z;
249  tmp.zx = v1.z * v2.x;
250  tmp.zy = v1.z * v2.y;
251  tmp.zz = v1.z * v2.z;
252  return tmp;
253 }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal z
Definition: Vector.h:74
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal x
Definition: Vector.h:74
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal xy
Definition: Tensor.h:17
BigReal y
Definition: Vector.h:74
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ symmetric

NAMD_HOST_DEVICE friend Tensor symmetric ( const Tensor t1)
friend

Definition at line 178 of file Tensor.h.

178  {
179  Tensor tmp;
180  tmp.xx = t1.xx; tmp.xy = 0.5*(t1.xy+t1.yx); tmp.xz = 0.5*(t1.xz+t1.zx);
181  tmp.yx = tmp.xy; tmp.yy = t1.yy; tmp.yz = 0.5*(t1.yz+t1.zy);
182  tmp.zx = tmp.xz; tmp.zy = tmp.yz; tmp.zz = t1.zz;
183  return tmp;
184  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ trace

NAMD_HOST_DEVICE friend BigReal trace ( const Tensor t1)
friend

Definition at line 202 of file Tensor.h.

202  {
203  return (t1.xx + t1.yy + t1.zz);
204  }
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
BigReal yy
Definition: Tensor.h:18

◆ transpose

NAMD_HOST_DEVICE friend Tensor transpose ( const Tensor t1)
friend

Definition at line 170 of file Tensor.h.

170  {
171  Tensor tmp;
172  tmp.xx = t1.xx; tmp.yx = t1.xy; tmp.zx = t1.xz;
173  tmp.xy = t1.yx; tmp.yy = t1.yy; tmp.zy = t1.yz;
174  tmp.xz = t1.zx; tmp.yz = t1.zy; tmp.zz = t1.zz;
175  return tmp;
176  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

◆ triangular

NAMD_HOST_DEVICE friend Tensor triangular ( const Tensor t1)
friend

Definition at line 186 of file Tensor.h.

186  {
187  Tensor tmp;
188  tmp.xx = t1.xx; tmp.xy = 0.5*(t1.xy+t1.yx); tmp.xz = 0.5*(t1.xz+t1.zx);
189  tmp.yx = 0; tmp.yy = t1.yy; tmp.yz = 0.5*(t1.yz+t1.zy);
190  tmp.zx = 0; tmp.zy = 0; tmp.zz = t1.zz;
191  return tmp;
192  }
BigReal zy
Definition: Tensor.h:19
BigReal xz
Definition: Tensor.h:17
BigReal yz
Definition: Tensor.h:18
BigReal yx
Definition: Tensor.h:18
BigReal xx
Definition: Tensor.h:17
BigReal zz
Definition: Tensor.h:19
Definition: Tensor.h:15
BigReal xy
Definition: Tensor.h:17
BigReal yy
Definition: Tensor.h:18
BigReal zx
Definition: Tensor.h:19

Member Data Documentation

◆ xx

BigReal Tensor::xx

◆ xy

BigReal Tensor::xy

◆ xz

BigReal Tensor::xz

◆ yx

BigReal Tensor::yx

◆ yy

BigReal Tensor::yy

◆ yz

BigReal Tensor::yz

◆ zx

BigReal Tensor::zx

◆ zy

BigReal Tensor::zy

◆ zz

BigReal Tensor::zz

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