Ejemplo n.º 1
0
    def __init__(self,
                 name,
                 regions,
                 calculationTimes,
                 gravity,
                 density,
                 viscosity,
                 boundaryConditions,
                 initialConditions=None,
                 zoneConditions=None,
                 source=None,
                 outputs=None,
                 defaultBoundaryCondition=None,
                 defaultInitialCondition=None):
        """Problem initialisation with :
        - a name (string)
        - one or several regions (object Region or list of Region)
        - one or several boundary conditions (object BoundaryCondition
          or list of BoundaryCondition)
        - a gravity (object Gravity)
        - a density (object Density)
        - a viscosity (object Viscosity)
        - OPTIONAL :
          --> one or several zone conditions (object ZoneCondition
              or list of ZoneCondition)
          --> one or several sources (object Source or list of Source)
          --> one or several outputs (object ExpectedOutput or list of
              ExpectedOutput)
          --> a tuple to define default boundary condition.
              It will be used if boundaryConditions defined in the problem
              don't cover entire boundaries.
              First element of tuple contains a string which represent
                default boundary condition type ('Dirichlet' or 'Neumann' For example)
              Second Element represent a PhysicalQuantity with default Boundary Condition Value
                Head(0.) or HeadGradient(0.) for example
          --> a PhysiqualQuantity to define value of default initial condition
        """

        # regions treatment
        regions = toList(regions)
        from datamodel import Permeability, IntrinsicPermeability
        from datamodel import MatrixCompressibilityFactor, Porosity, LiquidResidualSaturation
        verifySomeOfPhysicalQuantitiesExists(
            [Permeability, IntrinsicPermeability], regions, option='exclusive')
        verifyPhysicalQuantityExists(
            [MatrixCompressibilityFactor, Porosity, LiquidResidualSaturation],
            regions)

        HydraulicProblem.__init__(self, 'unsaturated', name, regions,
                                  boundaryConditions, calculationTimes,
                                  gravity, density, viscosity,
                                  initialConditions, zoneConditions, source,
                                  outputs, defaultBoundaryCondition,
                                  defaultInitialCondition)

        # Consistance problem verification
        if self.density == None:
            raise Exception, " you have to define a density before launching the problem "

        return
Ejemplo n.º 2
0
    def __init__(self, name, regions,calculationTimes,
                 gravity,
                 density,
                 viscosity,                 
                 boundaryConditions,
                 initialConditions = None,
                 zoneConditions = None,
                 source=None,
                 outputs=None,
                 defaultBoundaryCondition=None,
                 defaultInitialCondition=None):
        """Problem initialisation with :
        - a name (string)
        - one or several regions (object Region or list of Region)
        - one or several boundary conditions (object BoundaryCondition
          or list of BoundaryCondition)
        - a gravity (object Gravity)
        - a density (object Density)
        - a viscosity (object Viscosity)
        - OPTIONAL :
          --> one or several zone conditions (object ZoneCondition
              or list of ZoneCondition)
          --> one or several sources (object Source or list of Source)
          --> one or several outputs (object ExpectedOutput or list of
              ExpectedOutput)
          --> a tuple to define default boundary condition.
              It will be used if boundaryConditions defined in the problem
              don't cover entire boundaries.
              First element of tuple contains a string which represent
                default boundary condition type ('Dirichlet' or 'Neumann' For example)
              Second Element represent a PhysicalQuantity with default Boundary Condition Value
                Head(0.) or HeadGradient(0.) for example
          --> a PhysiqualQuantity to define value of default initial condition
        """


        # regions treatment
        regions = toList(regions)
        from datamodel import Permeability, IntrinsicPermeability
        from datamodel import MatrixCompressibilityFactor,Porosity,LiquidResidualSaturation
        verifySomeOfPhysicalQuantitiesExists([Permeability, IntrinsicPermeability], regions,option='exclusive')
        verifyPhysicalQuantityExists([MatrixCompressibilityFactor,Porosity,LiquidResidualSaturation], regions)

        HydraulicProblem.__init__(self,'unsaturated',name, regions,boundaryConditions,calculationTimes,
                                  gravity,density,viscosity,
                                  initialConditions,zoneConditions,
                                  source,outputs,defaultBoundaryCondition,defaultInitialCondition)
        
        # Consistance problem verification
        if self.density == None: raise Exception, " you have to define a density before launching the problem "

        return
Ejemplo n.º 3
0
    def __init__(self,
                 name,
                 regions,
                 boundaryConditions,
                 initialConditions = None,\
                 temperature = None,\
                 simulationType = None,\
                 calculationTimes = None,\
                 gravity = None,
                 density = None,
                 source = None,
                 intrinsicPermeability = None,\
                 viscosity = None,
                 outputs = None):
        """Problem initialisation with :
        - a name (string)
        - one or several regions (object Region or list of Region)
        - one or several boundary conditions (object BoundaryCondition
          or list of BoundaryCondition)
        - OPTIONAL :
          --> one or several zone conditions (object ZoneCondition
              or list of ZoneCondition)
          --> one or several sources (object Source or list of Source)
          --> a gravity (object Gravity) 
          --> a density (object Density)
          --> a viscosity (object Viscosity)
          --> one or several outputs (object ExpectedOutput or list of
              ExpectedOutput)
          """

        # regions treatment
        regions = toList(regions)
        verifySomeOfPhysicalQuantitiesExists(
            [Permeability, IntrinsicPermeability], regions, option="inclusive")

        HydraulicProblem.__init__(self,
                                  name = name,\
                                  saturation = "saturated",\
                                  regions = regions,
                                  boundaryConditions = boundaryConditions,\
                                  initialConditions = initialConditions,\
                                  temperature = temperature,\
                                  simulationType = simulationType,\
                                  calculationTimes = calculationTimes,\
                                  gravity = gravity,\
                                  density = density,\
                                  intrinsicPermeability =intrinsicPermeability,\
                                  viscosity = viscosity,\
                                  source = source,\
                                  outputs = outputs)