Example #1
0
    def setUp(self):
        self.Ts = np.array([25.0, 800.0, 1000.0, 1200.0, 1400.0, 1500.0])
        self.s0s = np.array([507.0, 467.0, 528.0, 570.0, 746.0, 461.0])
        self.m = 10.7
        self.c_bar = 1.5
        self.nu = 0.17

        self.mat = materials.StandardCeramicMaterial(
            self.Ts, self.s0s, self.m, self.c_bar, self.nu
        )
Example #2
0
    def setUp(self):

        # Case 1: Single stress tensor over 1 time step
        # self.stress = np.array([[100.0,25.0,50.0,0,0,0]])
        # self.temperatures = np.array([1.0])
        # self.volumes = np.array([0.1])

        # Case 2: Testing for multiple (principal) stress tensors over 2 time steps
        self.stress = np.array([
            [[100.0, 25.0, 50.0, 0, 0, 0], [-1.5, -25.0, -5.6, 0, 0, 0]],
            [[15.0, 6.0, 20.0, 0, 0, 0], [-15, 6, -20, 0, 0, 0]],
        ])
        self.temperatures = np.array([[1.0, 3.0], [100.0, 10.0]])
        self.volumes = np.array([[0.1, 0.1], [0.1, 0.1]])

        # Case 3: Testing for an entirely random stress tensor over 3 time steps
        # self.stress = np.array([[[14.0,-17.0,4.3,105,2,15.5],[15.0,25.0,5.0,0,0,0]],
        # [[-1.5,-25.0,-5.6,17.1,-6.6,-301],[54.0,-7.0,0.3,10,20,15.5]],[[-10.0,25.0,50.0,0,0,0],
        # [-1.0,-205.0,-56.0,-11.7,-0.6,-30]]])
        # self.temperatures = np.array([[1.0,3.0],[15.0,100.0],[10.0,11.0]])
        # self.volumes = np.array([[0.1,0.1],[0.1,0.1],[0.1,0.1]])

        self.s0 = 70
        self.m = 3.5
        self.c_bar = 0.8
        self.nu = 0.25

        self.material = materials.StandardCeramicMaterial(
            np.array([0, 1000.0]),
            np.array([self.s0, self.s0]),
            self.m,
            self.c_bar,
            self.nu,
        )

        self.model = damage.SMMModelPennyShapedFlaw(
            solverparams.ParameterSet())