1try: 2 import unittest2 as unittest 3except ImportError: 4 import unittest 5 6from mfront.umatxx import Behaviour 7 8class Asterxx(unittest.TestCase): 9 10 def test_pass(self): 11 Np=30 12 Nss=12 13 14 b = Behaviour("Tridimensional","@MFrontAsterBehavioursBuildPath@", 15 "asterpolycrystals") 16 mpnames=b.getMaterialPropertiesNames() 17 ivnames=b.getInternalStateVariablesNames() 18 ivtypes=b.getInternalStateVariablesTypes() 19 evnames=b.getExternalStateVariablesNames() 20 21 self.assertEqual(mpnames, 22 ['m', 'K', 'C', 'R0', 23 'Q', 'b', 'H', 'd1', 'Mu']) 24 self.assertEqual(len(ivnames),3+Np+3*Nss*Np) 25 self.assertEqual(ivnames[0],'ElasticStrain') 26 self.assertEqual(ivtypes[0],'Stensor') 27 self.assertEqual(ivnames[1],'epsp') 28 self.assertEqual(ivtypes[1],'Stensor') 29 for i in range(0,Np): 30 self.assertEqual(ivnames[2+i],'epsg[{0}]'.format(i)) 31 self.assertEqual(ivtypes[2+i],'Stensor') 32 for i in range(0,Nss*Np): 33 self.assertEqual(ivnames[2+Np+i],'g[{0}]'.format(i)) 34 self.assertEqual(ivtypes[2+Np+i],'Scalar') 35 for i in range(0,Nss*Np): 36 self.assertEqual(ivnames[2+Np+i+Nss*Np],'a[{0}]'.format(i)) 37 self.assertEqual(ivtypes[2+Np+i],'Scalar') 38 for i in range(0,Nss*Np): 39 self.assertEqual(ivnames[2+Np+i+2*Nss*Np],'p[{0}]'.format(i)) 40 self.assertEqual(ivtypes[2+Np+i+2*Nss*Np],'Scalar') 41 self.assertEqual(ivnames[2+Np+3*Nss*Np],'pg') 42 self.assertEqual(ivtypes[2+Np+3*Nss*Np],'Scalar') 43 self.assertEqual(len(evnames),0) 44 self.assertFalse(b.isIsotropic()) 45 self.assertTrue(b.isOrthotropic()) 46 47 b.setParameter("epsilon",1.e-12) 48 49 self.assertEqual(10, 7 + 3) 50 51if __name__ == '__main__': 52 unittest.main() 53