MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / test_isotropic_material

Method test_isotropic_material

python/pymesh/tests/test_material.py:23–48  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

21 self.assertAlmostEqual(C[i,j,k,l], C[k,l,i,j])
22
23 def test_isotropic_material(self):
24 young = 1000.0
25 poisson = 0.3
26 mat = Material.create_isotropic(3, 1.0, young, poisson)
27 self.assertEqual(3, mat.dim)
28 self.assertEqual(1.0, mat.density)
29 self.assert_symmetry(mat.material_tensor, mat.dim)
30
31 strain = np.array([
32 [1.0, 0.0, 0.0],
33 [0.0, 0.0, 0.0],
34 [0.0, 0.0, 0.0], ])
35
36 stress = mat.strain_to_stress(strain)
37 self.assertAlmostEqual(young * (1-poisson)/(1+poisson)/(1-2*poisson),
38 stress[0, 0])
39 self.assertAlmostEqual(young * poisson /(1+poisson)/(1-2*poisson),
40 stress[1, 1])
41 self.assertAlmostEqual(young * poisson /(1+poisson)/(1-2*poisson),
42 stress[2, 2])
43 self.assertAlmostEqual(0.0, stress[0, 1])
44 self.assertAlmostEqual(0.0, stress[1, 0])
45 self.assertAlmostEqual(0.0, stress[0, 2])
46 self.assertAlmostEqual(0.0, stress[2, 0])
47 self.assertAlmostEqual(0.0, stress[1, 2])
48 self.assertAlmostEqual(0.0, stress[2, 1])
49
50 def test_isotropic_material_2D(self):
51 young = 1000.0

Callers

nothing calls this directly

Calls 3

assert_symmetryMethod · 0.95
create_isotropicMethod · 0.45
strain_to_stressMethod · 0.45

Tested by

no test coverage detected