def test_behaviour(self):
        h = mgis_bv.Hypothesis.Tridimensional
        b = self.__get_behaviour(h)
        # path to the test library
        version = os.environ['MGIS_TEST_TFEL_VERSION']
        self.assertTrue(b.behaviour == "TensorialExternalStateVariableTest",
                        "invalid behaviour name")
        self.assertTrue(b.hypothesis == h, "invalid hypothesis")
        self.assertTrue(b.source == "TensorialExternalStateVariableTest.mfront",
                        "invalid source")
        self.assertTrue(b.tfel_version == version, "invalid TFEL version")
        self.assertTrue(mgis_bv.getArraySize(b.esvs, b.hypothesis) == 55,
                        "invalid array size for the external state variables")
        esvnames = ["Temperature", "v_esv",     "v2_esv[0]", "v2_esv[1]", "s_esv",
                    "s2_esv[0]",   "s2_esv[1]", "t_esv",     "t2_esv[0]", "t2_esv[1]"]
        esvtypes = [mgis_bv.VariableType.SCALAR, mgis_bv.VariableType.VECTOR,
                    mgis_bv.VariableType.VECTOR, mgis_bv.VariableType.VECTOR,
                    mgis_bv.VariableType.STENSOR, mgis_bv.VariableType.STENSOR,
                    mgis_bv.VariableType.STENSOR, mgis_bv.VariableType.TENSOR,
                    mgis_bv.VariableType.TENSOR,  mgis_bv.VariableType.TENSOR]
        esvsizes = [1, 3, 3, 3, 6, 6, 6, 9, 9, 9]
        for i in range(0, 10):
            self.assertTrue(b.esvs[i].name == esvnames[i],
                            "invalid external state variable name")
            self.assertTrue(b.esvs[i].type == esvtypes[i],
                            "invalid external variable type")
            self.assertTrue(mgis_bv.getVariableSize(b.esvs[i], b.hypothesis) == esvsizes[i],
                            "invalid external variable type")

        pass
コード例 #2
0
 def get_tangent_block_sizes(self):
     return [tuple([mgis_bv.getVariableSize(tt, self.hypothesis) for tt in t]) \
             for t in self.behaviour.tangent_operator_blocks]
コード例 #3
0
 def get_flux_sizes(self):
     return [
         mgis_bv.getVariableSize(svar, self.hypothesis)
         for svar in self.behaviour.thermodynamic_forces
     ]
コード例 #4
0
 def get_gradient_sizes(self):
     return [
         mgis_bv.getVariableSize(svar, self.hypothesis)
         for svar in self.behaviour.gradients
     ]
コード例 #5
0
 def get_internal_state_variable_sizes(self):
     return [
         mgis_bv.getVariableSize(svar, self.hypothesis)
         for svar in self.behaviour.internal_state_variables
     ]
コード例 #6
0
 def get_material_property_sizes(self):
     return [
         mgis_bv.getVariableSize(svar, self.hypothesis)
         for svar in self.behaviour.mps
     ]