ported from hand written test class
This commit is contained in:
parent
a3376a35b7
commit
e0f3fe3cc0
|
@ -0,0 +1,54 @@
|
||||||
|
import numpy as np
|
||||||
|
from damask import Rotation
|
||||||
|
|
||||||
|
class TestRotation:
|
||||||
|
|
||||||
|
n = 1000
|
||||||
|
|
||||||
|
def test_Eulers(self):
|
||||||
|
for r in range(self.n):
|
||||||
|
rot = Rotation.fromRandom()
|
||||||
|
assert np.allclose(rot.asQuaternion(),
|
||||||
|
Rotation.fromEulers(rot.asEulers()).asQuaternion())
|
||||||
|
|
||||||
|
|
||||||
|
def test_AxisAngle(self):
|
||||||
|
for r in range(self.n):
|
||||||
|
rot = Rotation.fromRandom()
|
||||||
|
assert np.allclose(rot.asEulers(),
|
||||||
|
Rotation.fromAxisAngle(rot.asAxisAngle()).asEulers())
|
||||||
|
|
||||||
|
|
||||||
|
def test_Matrix(self):
|
||||||
|
for r in range(self.n):
|
||||||
|
rot = Rotation.fromRandom()
|
||||||
|
assert np.allclose(rot.asAxisAngle(),
|
||||||
|
Rotation.fromMatrix(rot.asMatrix()).asAxisAngle())
|
||||||
|
|
||||||
|
|
||||||
|
def test_Rodriques(self):
|
||||||
|
for r in range(self.n):
|
||||||
|
rot = Rotation.fromRandom()
|
||||||
|
assert np.allclose(rot.asMatrix(),
|
||||||
|
Rotation.fromRodrigues(rot.asRodrigues()).asMatrix())
|
||||||
|
|
||||||
|
|
||||||
|
def test_Homochoric(self):
|
||||||
|
for r in range(self.n):
|
||||||
|
rot = Rotation.fromRandom()
|
||||||
|
assert np.allclose(rot.asRodrigues(),
|
||||||
|
Rotation.fromHomochoric(rot.asHomochoric()).asRodrigues())
|
||||||
|
|
||||||
|
|
||||||
|
def test_Cubochoric(self):
|
||||||
|
for r in range(self.n):
|
||||||
|
rot = Rotation.fromRandom()
|
||||||
|
assert np.allclose(rot.asHomochoric(),
|
||||||
|
Rotation.fromCubochoric(rot.asCubochoric()).asHomochoric())
|
||||||
|
|
||||||
|
|
||||||
|
def test_Quaternion(self):
|
||||||
|
for r in range(self.n):
|
||||||
|
rot = Rotation.fromRandom()
|
||||||
|
assert np.allclose(rot.asCubochoric(),
|
||||||
|
Rotation.fromQuaternion(rot.asQuaternion()).asCubochoric())
|
|
@ -3,7 +3,7 @@ from damask import mechanics
|
||||||
|
|
||||||
class TestMechanics:
|
class TestMechanics:
|
||||||
|
|
||||||
n = 9
|
n = 1000
|
||||||
c = np.random.randint(n)
|
c = np.random.randint(n)
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,3 +133,10 @@ class TestMechanics:
|
||||||
x = mechanics.symmetric(np.random.random((self.n,3,3)))
|
x = mechanics.symmetric(np.random.random((self.n,3,3)))
|
||||||
assert np.allclose(mechanics.transpose(x),
|
assert np.allclose(mechanics.transpose(x),
|
||||||
x)
|
x)
|
||||||
|
|
||||||
|
|
||||||
|
def test_Mises(self):
|
||||||
|
"""Ensure that equivalent stress is 3/2 of equivalent strain."""
|
||||||
|
x = np.random.random((self.n,3,3))
|
||||||
|
assert np.allclose(mechanics.Mises_stress(x)/mechanics.Mises_strain(x),
|
||||||
|
1.5)
|
||||||
|
|
Loading…
Reference in New Issue