Example #1
0
    def setUp(self):
        self.model1 = parse.parse_xml("test/examples.xml", "test_perzyna")

        mu = 40000.0
        K = 84000.0

        elastic = elasticity.IsotropicLinearElasticModel(
            mu, "shear", K, "bulk")

        sy = 100.0
        r = 100.0
        d = 1000.0
        KK = 1000.0

        n = 5.0
        eta = 500.0

        surface = surfaces.IsoKinJ2()
        iso = hardening.VoceIsotropicHardeningRule(sy, r, d)
        kin = hardening.LinearKinematicHardeningRule(KK)

        hmodel = hardening.CombinedHardeningRule(iso, kin)

        gmodel = visco_flow.GPowerLaw(n, eta)

        vmodel = visco_flow.PerzynaFlowRule(surface, hmodel, gmodel)
        flow = general_flow.TVPFlowRule(elastic, vmodel)

        self.model2 = models.GeneralIntegrator(elastic, flow)

        self.T = 550.0 + 273.15
        self.tmax = 10.0
        self.nsteps = 100.0
        self.emax = np.array([0.1, 0, 0, 0, 0, 0])
Example #2
0
    def setUp(self):
        self.hist0 = np.zeros((7, ))

        self.hist0 = np.zeros((7, ))

        self.E = 92000.0
        self.nu = 0.3

        self.mu = self.E / (2 * (1 + self.nu))
        self.K = self.E / (3 * (1 - 2 * self.nu))

        self.s0 = 180.0
        self.R = 150.0
        self.d = 10.0

        self.n = 2.0
        self.eta = 200.0

        self.elastic = elasticity.IsotropicLinearElasticModel(
            self.mu, "shear", self.K, "bulk")

        surface = surfaces.IsoJ2()
        hrule = hardening.VoceIsotropicHardeningRule(self.s0, self.R, self.d)
        g = visco_flow.GPowerLaw(self.n, self.eta)

        vmodel = visco_flow.PerzynaFlowRule(surface, hrule, g)

        flow = general_flow.TVPFlowRule(self.elastic, vmodel)
        self.model = models.GeneralIntegrator(self.elastic, flow)

        self.efinal = np.array([0.05, 0, 0, 0.02, 0, -0.01])
        self.tfinal = 10.0
        self.T = 300.0
        self.nsteps = 100
Example #3
0
    def setUp(self):
        self.s0 = 100.0
        self.Kp = 1500.0

        self.n = 2.0
        self.eta = 100.0

        self.surface = surfaces.IsoJ2()
        self.hrule = hardening.LinearIsotropicHardeningRule(self.s0, self.Kp)
        self.g = visco_flow.GPowerLaw(self.n, self.eta)

        self.model = visco_flow.PerzynaFlowRule(self.surface, self.hrule,
                                                self.g)

        self.hist0 = np.zeros((1, ))
        self.T = 300.0
Example #4
0
    def setUp(self):
        self.s0 = 180.0
        self.R = 150.0
        self.d = 10.0

        self.n = 5.0
        self.eta = 20.0

        self.surface = surfaces.IsoJ2()
        self.hrule = hardening.VoceIsotropicHardeningRule(
            self.s0, self.R, self.d)
        self.g = visco_flow.GPowerLaw(self.n, self.eta)

        self.model = visco_flow.PerzynaFlowRule(self.surface, self.hrule,
                                                self.g)

        self.hist0 = np.zeros((1, ))
        self.T = 300.0
Example #5
0
    def test_rd(self):
        s0 = 10.0
        R = 150.0
        d = 10.0

        n = 3.0
        eta = 200.0

        surface = surfaces.IsoJ2()
        hrule = hardening.VoceIsotropicHardeningRule(s0, R, d)
        g = visco_flow.GPowerLaw(n, eta)

        vmodel = visco_flow.PerzynaFlowRule(surface, hrule, g)
        flow = general_flow.TVPFlowRule(self.elastic1, vmodel)
        model = models.GeneralIntegrator(self.elastic1, flow)

        self.very_close(model, self.emodel1)

        model.set_elastic_model(self.elastic2)

        self.very_close(model, self.emodel2)
Example #6
0
    H = 0.0001

    elastic = elasticity.IsotropicLinearElasticModel(E, "youngs", nu,
                                                     "poissons")
    surface = surfaces.IsoJ2()
    iso = hardening.LinearIsotropicHardeningRule(sY, H)
    flow = ri_flow.RateIndependentAssociativeFlow(surface, iso)

    model1 = models.SmallStrainRateIndependentPlasticity(elastic, flow)

    model2 = models.SmallStrainPerfectPlasticity(elastic, surface, sY)

    n = 45.0
    eta = 200.0
    iso2 = hardening.LinearIsotropicHardeningRule(0, H)
    gpower = visco_flow.GPowerLaw(n, eta)
    vflow = visco_flow.PerzynaFlowRule(surface, iso2, gpower)
    gflow = general_flow.TVPFlowRule(elastic, vflow)
    model3 = models.GeneralIntegrator(elastic, gflow)

    # T is in hours, strain in percent, stress in MPa
    A = 1.85e-9
    n = 2.5
    m = 0.3

    smodel = creep.NortonBaileyCreep(A, n, m)
    cmodel = creep.J2CreepModel(smodel)
    model4 = models.SmallStrainCreepPlasticity(elastic, model1, cmodel)

    erate = 1.0e-4
    emax = 0.025
Example #7
0
 def setUp(self):
     self.n = 11.0
     self.eta = 200.0
     self.model = visco_flow.GPowerLaw(self.n, self.eta)
     self.T = 300.0