def test_densityScale(self):
    dim = Nondimensional()
    dim._configure()
    dim.setDensityScale(2.0*kilogram/meter**3)

    self.assertEqual(1.0*meter, dim.lengthScale())
    self.assertEqual(1.0*pascal, dim.pressureScale())
    self.assertEqual(1.0*second, dim.timeScale())
    self.assertEqual(2.0*kilogram/meter**3, dim.densityScale())
    return
  def test_temperatureScale(self):
    dim = Nondimensional()
    dim._configure()
    dim.setTemperatureScale(2.0*kelvin)

    self.assertEqual(1.0*meter, dim.lengthScale())
    self.assertEqual(1.0*pascal, dim.pressureScale())
    self.assertEqual(1.0*second, dim.timeScale())
    self.assertEqual(2.0*kelvin, dim.temperatureScale())
    return
Esempio n. 3
0
    def test_temperatureScale(self):
        dim = Nondimensional()
        dim._configure()
        dim.setTemperatureScale(2.0 * kelvin)

        self.assertEqual(1.0 * meter, dim.lengthScale())
        self.assertEqual(1.0 * pascal, dim.pressureScale())
        self.assertEqual(1.0 * second, dim.timeScale())
        self.assertEqual(2.0 * kelvin, dim.temperatureScale())
        return
Esempio n. 4
0
    def test_densityScale(self):
        dim = Nondimensional()
        dim._configure()
        dim.setDensityScale(2.0 * kilogram / meter**3)

        self.assertEqual(1.0 * meter, dim.lengthScale())
        self.assertEqual(1.0 * pascal, dim.pressureScale())
        self.assertEqual(1.0 * second, dim.timeScale())
        self.assertEqual(2.0 * kilogram / meter**3, dim.densityScale())
        return
  def test_constructor(self):
    dim = Nondimensional()
    dim._configure()

    self.assertEqual(1.0*meter, dim.lengthScale())
    self.assertEqual(1.0*pascal, dim.pressureScale())
    self.assertEqual(1.0*second, dim.timeScale())
    self.assertEqual(1.0*kilogram/meter**3, dim.densityScale())
    self.assertEqual(1.0*kelvin, dim.temperatureScale())

    return
Esempio n. 6
0
    def test_constructor(self):
        dim = Nondimensional()
        dim._configure()

        self.assertEqual(1.0 * meter, dim.lengthScale())
        self.assertEqual(1.0 * pascal, dim.pressureScale())
        self.assertEqual(1.0 * second, dim.timeScale())
        self.assertEqual(1.0 * kilogram / meter**3, dim.densityScale())
        self.assertEqual(1.0 * kelvin, dim.temperatureScale())

        return
Esempio n. 7
0
    def _initialize(self, mesh, integrator):
        """
    Initialize integrator.
    """
        dt = 2.3

        from spatialdata.units.Nondimensional import Nondimensional
        normalizer = Nondimensional()
        normalizer._configure()

        from pyre.units.time import s
        integrator.initialize(totalTime=0.0 * s,
                              numTimeSteps=1,
                              normalizer=normalizer)
        integrator.timeStep(dt)

        # Setup fields
        from pylith.topology.SolutionFields import SolutionFields
        fields = SolutionFields(mesh)
        fields.add("residual", "residual")
        fields.add("disp(t+dt)", "displacement")
        fields.add("disp(t)", "displacement")
        fields.add("disp(t-dt)", "displacement")
        fields.add("velocity(t)", "velocity")
        fields.add("acceleration(t)", "acceleration")
        fields.solutionName("disp(t+dt)")

        residual = fields.get("residual")
        spaceDim = mesh.coordsys().spaceDim()
        lengthScale = normalizer.lengthScale()
        residual.subfieldAdd("displacement", spaceDim, residual.VECTOR,
                             lengthScale.value)
        residual.subfieldAdd("lagrange_multiplier", spaceDim, residual.VECTOR)

        residual.subfieldsSetup()
        residual.setupSolnChart()
        residual.setupSolnDof(spaceDim)
        residual.allocate()
        residual.zeroAll()
        fields.copyLayout("residual")

        return fields
  def _initialize(self, mesh, integrator):
    """
    Initialize integrator.
    """
    dt = 2.3
    
    from spatialdata.units.Nondimensional import Nondimensional
    normalizer = Nondimensional()
    normalizer._configure()

    from pyre.units.time import s
    integrator.initialize(totalTime=0.0*s, numTimeSteps=1,
                          normalizer=normalizer)
    integrator.timeStep(dt)

    # Setup fields
    from pylith.topology.SolutionFields import SolutionFields
    fields = SolutionFields(mesh)
    fields.add("residual", "residual")
    fields.add("disp(t+dt)", "displacement")
    fields.add("disp(t)", "displacement")
    fields.add("disp(t-dt)", "displacement")
    fields.add("velocity(t)", "velocity")
    fields.add("acceleration(t)", "acceleration")
    fields.solutionName("disp(t+dt)")

    residual = fields.get("residual")
    spaceDim = mesh.coordsys().spaceDim()
    lengthScale = normalizer.lengthScale()
    residual.subfieldAdd("displacement", spaceDim, residual.VECTOR, lengthScale.value);
    residual.subfieldAdd("lagrange_multiplier", spaceDim, residual.VECTOR);
    
    residual.subfieldsSetup();
    residual.setupSolnChart();
    residual.setupSolnDof(spaceDim);
    residual.allocate();
    residual.zeroAll();
    fields.copyLayout("residual")

    return fields