def gammaName():
    if foamVersionNumber()<(1,6):
        return "gamma"
    elif foamVersionNumber()<(2,3):
        return "alpha1"
    else:
        return "alpha.water"
Exemplo n.º 2
0
def gammaName():
    if foamVersionNumber() < (1, 6):
        return "gamma"
    elif foamVersionNumber() < (2, 3):
        return "alpha1"
    else:
        return "alpha.water"
 def setUp(self):
     self.theFile=mktemp()
     alphaName="alpha"
     if foamVersionNumber()>=(3,):
         alphaName="alpha.air"
     elif foamVersionNumber()>=(2,):
         alphaName="alpha1"
     copyfile(path.join(bubbleColumnTutorial(),"0",alphaName),self.theFile)
Exemplo n.º 4
0
 def testReadTutorial(self):
     test=ParsedParameterFile(self.theFile)
     if foamVersionNumber()>=(3,):
         self.assertEqual(len(test["boundaryField"]),4)
     else:
         self.assertEqual(len(test["boundaryField"]),3)
     if foamVersionNumber()<(2,):
         self.assertEqual(len(test["boundaryField"]["floor"]["value"].val),400)
Exemplo n.º 5
0
 def setUp(self):
     self.theFile=mktemp()
     alphaName="alpha"
     if foamVersionNumber()>=(3,):
         alphaName="alpha.air"
     elif foamVersionNumber()>=(2,):
         alphaName="alpha1"
     copyfile(path.join(bubbleColumnTutorial(),"0",alphaName),self.theFile)
Exemplo n.º 6
0
    def setUp(self):
        self.theFile=mktemp()
        UName="Ua"
        if foamVersionNumber()>=(3,):
            UName="U.air"
        elif foamVersionNumber()>=(2,):
            UName="U1"

        copyfile(path.join(bubbleColumnTutorial(),"0",UName),self.theFile)
    def setUp(self):
        self.theFile=mktemp()
        UName="Ua"
        if foamVersionNumber()>=(3,):
            UName="U.air"
        elif foamVersionNumber()>=(2,):
            UName="U1"

        copyfile(path.join(bubbleColumnTutorial(),"0",UName),self.theFile)
Exemplo n.º 8
0
 def setUp(self):
     self.theFile=mktemp()
     if foamVersionNumber()<(2,0):
         extension=""
     elif foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
         extension=".orig"
     else:
         extension=".org"
     copyfile(path.join(damBreakTutorial(),"0",gammaName()+extension),self.theFile)
 def setUp(self):
     self.theDir=mkdtemp()
     self.theFile=path.join(self.theDir,"damBreak")
     copytree(damBreakTutorial(),self.theFile)
     if foamVersionNumber()>=(2,):
         if foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
             extension=".orig"
         else:
             extension=".org"
         copyfile(path.join(self.theFile,"0",gammaName()+extension),
                  path.join(self.theFile,"0",gammaName()))
Exemplo n.º 10
0
 def testBasicInclude(self):
     test=ParsedParameterFile(self.fileName)
     if foamVersionNumber()<(2,):
         return
     if foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
         key="error"
         code="codeEnd"
     else:
         key="difference"
         code="code"
     self.assertEqual(type(test["functions"][key][code]),Codestream)
Exemplo n.º 11
0
 def testReadTutorial(self):
     test=ParsedParameterFile(self.theFile)
     gradSchemes=1
     divSchemes=4
     if foamVersionNumber()<(1,6):
         gradSchemes=2
         divSchemes=5
     self.assertEqual(len(test["gradSchemes"]),gradSchemes)
     if foamVersionNumber()>=(3,):
         self.assertEqual(len(test["divSchemes"]["div(phi,ft_b_ha_hau)"][2]),5)
     else:
         self.assertEqual(len(test["divSchemes"]["div(phi,ft_b_h_hu)"][2]),divSchemes)
Exemplo n.º 12
0
    def testReadTutorial(self):
        if foamVersionNumber()>=(2,):
            # there is no appropriate volSymmTensorField-file in 2.x
            return

        test=ParsedParameterFile(self.theFile)
        self.assertEqual(test["internalField"].__class__,Field)
        self.assertEqual(test["internalField"].isUniform(),True)
        if foamVersionNumber()<(1,5):
            self.assertEqual(test["internalField"].value().__class__,Tensor)
        else:
            self.assertEqual(test["internalField"].value().__class__,SymmTensor)
Exemplo n.º 13
0
    def testReadTutorial(self):
        if foamVersionNumber()>=(2,):
            # there is no appropriate volSymmTensorField-file in 2.x
            return

        test=ParsedParameterFile(self.theFile)
        self.assertEqual(test["internalField"].__class__,Field)
        self.assertEqual(test["internalField"].isUniform(),True)
        if foamVersionNumber()<(1,5):
            self.assertEqual(test["internalField"].value().__class__,Tensor)
        else:
            self.assertEqual(test["internalField"].value().__class__,SymmTensor)
Exemplo n.º 14
0
 def setUp(self):
     self.theDir = mkdtemp()
     self.theFile = path.join(self.theDir, "damBreak")
     copytree(damBreakTutorial(), self.theFile)
     if foamVersionNumber() >= (2, ):
         if foamFork() in ["openfoam", "openfoamplus"
                           ] and foamVersionNumber() >= (4, ):
             extension = ".orig"
         else:
             extension = ".org"
         copyfile(path.join(self.theFile, "0",
                            gammaName() + extension),
                  path.join(self.theFile, "0", gammaName()))
Exemplo n.º 15
0
    def testReadTutorial(self):
        test = ParsedParameterFile(self.theFile)
        if foamVersionNumber() < (1, 5):
            nrTurbModels = 17
            model = "turbulenceModel"
        else:
            if foamVersionNumber() < (1, 6):
                nrTurbModels = 19
            else:
                nrTurbModels = 3

            model = "RASModel"

        self.assertEqual(len(test.content), nrTurbModels)
        self.assertEqual(test[model], "kEpsilon")
Exemplo n.º 16
0
    def testReadTutorial(self):
        test=ParsedParameterFile(self.theFile)
        if foamVersionNumber()<(1,5):
            nrTurbModels=17
            model="turbulenceModel"
        else:
            if foamVersionNumber()<(1,6):
                nrTurbModels=19
            else:
                nrTurbModels=3

            model="RASModel"

        self.assertEqual(len(test.content),nrTurbModels)
        self.assertEqual(test[model],"kEpsilon")
Exemplo n.º 17
0
 def setUp(self):
     self.theFile=mktemp()
     if foamVersionNumber()<(1,6):
         envProp="environmentalProperties"
     else:
         envProp="g"
     copyfile(path.join(damBreakTutorial(),"constant",envProp),self.theFile)
Exemplo n.º 18
0
    def __init__(self,
                 doTimelines=True,
                 doFiles=True,
                 singleFile=False,
                 startTime=None,
                 endTime=None):
        self.hasClock=(foamVersionNumber()>=(1,3))
        titles=["cumulated"]
        if self.hasClock:
            titles.append("delta")

        GeneralLineAnalyzer.__init__(self,
                                     titles=titles,
                                     doTimelines=doTimelines,
                                     doFiles=doFiles,
                                     singleFile=singleFile,
                                     startTime=startTime,
                                     endTime=endTime)

        self.exp=re.compile(executionRegexp())

        self.exp=re.compile(executionRegexp())

        self.lastTime=0.
        self.time=0.
        if self.hasClock:
            self.lastClock=0.
            self.clock=0.

        self.first=True;
        self.firstTime=0.
        if self.hasClock:
            self.firstClock=0.
Exemplo n.º 19
0
 def setUp(self):
     self.theFile=mktemp()
     if foamVersionNumber()<(1,6):
         envProp="environmentalProperties"
     else:
         envProp="g"
     copyfile(path.join(damBreakTutorial(),"constant",envProp),self.theFile)
Exemplo n.º 20
0
 def setUp(self):
     self.theFile=mktemp()
     if foamVersionNumber()>=(2,0):
         extension=".org"
     else:
         extension=""
     copyfile(path.join(damBreakTutorial(),"0",gammaName()+extension),self.theFile)
Exemplo n.º 21
0
 def setUp(self):
     self.theFile="/tmp/test.damBreak"
     copytree(damBreakTutorial(),self.theFile)
     if foamVersionNumber()>=(2,):
         copyfile(path.join(self.theFile,"0","alpha1.org"),
                  path.join(self.theFile,"0","alpha1"))
     system("gzip "+path.join(self.theFile,"0",gammaName()))
Exemplo n.º 22
0
 def setUp(self):
     self.theDir=mkdtemp()
     self.theFile=path.join(self.theDir,"damBreak")
     copytree(damBreakTutorial(),self.theFile)
     if foamVersionNumber()>=(2,):
         copyfile(path.join(self.theFile,"0","alpha1.org"),
                  path.join(self.theFile,"0","alpha1"))
Exemplo n.º 23
0
 def setUp(self):
     self.theDir = mkdtemp()
     self.theFile = path.join(self.theDir, "damBreak")
     copytree(damBreakTutorial(), self.theFile)
     if foamVersionNumber() >= (2, ):
         copyfile(path.join(self.theFile, "0", "alpha1.org"),
                  path.join(self.theFile, "0", "alpha1"))
Exemplo n.º 24
0
    def setUp(self):
        if foamVersionNumber()>=(1,6):
            import pytest
            pytest.skip("aachenBomb-tutorial no longer existing")

        self.theFile=mktemp()
        copyfile(path.join(dieselAachenTutorial(),"0","spray"),self.theFile)
Exemplo n.º 25
0
 def setUp(self):
     self.theFile="/tmp/test."+gammaName()
     if foamVersionNumber()>=(2,0):
         extension=".org"
     else:
         extension=""
     system("cp "+path.join(damBreakTutorial(),"0",gammaName()+extension)+" "+self.theFile)
Exemplo n.º 26
0
 def setUp(self):
     self.theFile=tmpnam()
     if foamVersionNumber()<(1,6):
         envProp="environmentalProperties"
     else:
         envProp="g"
     system("cp "+path.join(damBreakTutorial(),"constant",envProp)+" "+self.theFile)
Exemplo n.º 27
0
 def setUp(self):
     self.theFile=mktemp()
     if foamVersionNumber()>=(2,0):
         extension=".org"
     else:
         extension=""
     copyfile(path.join(damBreakTutorial(),"0",gammaName()+extension),self.theFile)
Exemplo n.º 28
0
def XiFoamMoriyoshiTutorial():
    prefix=foamTutorials()
    if foamFork()=="openfoamplus" and foamVersionNumber()>=(1612,):
        ras="RAS"
    else:
        ras="ras"

    return path.join(prefix,"combustion","XiFoam",ras,"moriyoshiHomogeneous")
def executionRegexp():
    """@Return: The regular expression that parses the execution time
    depending on the OpenFOAM-Version"""

    if foamVersionNumber(useConfigurationIfNoInstallation=True)>=(1,3):
        return "^ExecutionTime = (.+) s .ClockTime = (.+) s$"
    else:
        return "^ExecutionTime = (.+) s$"
Exemplo n.º 30
0
def bubbleColumnTutorial():
    prefix=foamTutorials()
    if not oldTutorialStructure():
        prefix=path.join(prefix,"multiphase")
    if foamVersionNumber()>=(3,):
        return path.join(prefix,"twoPhaseEulerFoam","laminar","bubbleColumn")
    else:
        return path.join(prefix,"twoPhaseEulerFoam","bubbleColumn")
Exemplo n.º 31
0
 def setUp(self):
     if oldTutorialStructure():
         null="0"
     elif foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
         null="0.orig"
     else:
         null="0.org"
     self.fileName=path.join(simpleBikeTutorial(),null,"U")
Exemplo n.º 32
0
def executionRegexp():
    """@Return: The regular expression that parses the execution time
    depending on the OpenFOAM-Version"""

    if foamVersionNumber(useConfigurationIfNoInstallation=True)>=(1,3):
        return "^ExecutionTime = (.+) s  ClockTime = (.+) s$"
    else:
        return "^ExecutionTime = (.+) s$"
def bubbleColumnTutorial():
    prefix=foamTutorials()
    if not oldTutorialStructure():
        prefix=path.join(prefix,"multiphase")
    if foamVersionNumber()>=(3,):
        return path.join(prefix,"twoPhaseEulerFoam","laminar","bubbleColumn")
    else:
        return path.join(prefix,"twoPhaseEulerFoam","bubbleColumn")
Exemplo n.º 34
0
def buoyHotRoomTutorial():
    prefix=foamTutorials()
    if not oldTutorialStructure():
        prefix=path.join(prefix,"heatTransfer")
    if foamVersionNumber()>=(3,):
        return path.join(prefix,"buoyantSimpleFoam","hotRadiationRoom")
    else:
        return path.join(prefix,"buoyantSimpleFoam","hotRoom")
Exemplo n.º 35
0
 def testReadTutorial(self):
     test=ParsedParameterFile(self.theFile)
     self.assertEqual(test["internalField"].__class__,Field)
     self.assertEqual(test["internalField"].isUniform(),True)
     if foamVersionNumber()<(1,5):
         self.assertEqual(test["internalField"].value().__class__,Tensor)
     else:
         self.assertEqual(test["internalField"].value().__class__,SymmTensor)
def damBreakTutorial():
    prefix=foamTutorials()
    if oldTutorialStructure():
        prefix=path.join(prefix,"interFoam")
    else:
        prefix=path.join(prefix,"multiphase","interFoam","laminar")
        if foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
            prefix=path.join(prefix,"damBreak")
    return path.join(prefix,"damBreak")
 def testTimeReplacingZippedFile(self):
     test=SolutionDirectory(self.theFile)["0"]
     self.assertEqual(len(test),4)
     if foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
         extension=".orig"
     else:
         extension=".org"
     test[gammaName()]=test[gammaName()+extension]
     self.assertEqual(len(test),4)
Exemplo n.º 38
0
def damBreakTutorial():
    prefix=foamTutorials()
    if oldTutorialStructure():
        prefix=path.join(prefix,"interFoam")
    else:
        prefix=path.join(prefix,"multiphase","interFoam","laminar")
        if foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
            prefix=path.join(prefix,"damBreak")
    return path.join(prefix,"damBreak")
Exemplo n.º 39
0
 def testBasicInclude(self):
     if foamVersionNumber()<(2,):
         return
     test=ParsedParameterFile(self.theFile)
     data1=deepcopy(test.content)
     open(self.theFile,"w").write(str(FoamFileGenerator(data1,header=test.header)))
     del test
     test2=ParsedParameterFile(self.theFile)
     self.assertEqual(data1,test2.content)
Exemplo n.º 40
0
 def setUp(self):
     self.theDir = mkdtemp()
     self.theFile = path.join(self.theDir, "damBreak")
     copytree(damBreakTutorial(), self.theFile)
     if foamVersionNumber() >= (2, ):
         copyfile(path.join(self.theFile, "0",
                            gammaName() + ".org"),
                  path.join(self.theFile, "0", gammaName()))
     system("gzip " + path.join(self.theFile, "0", gammaName()))
Exemplo n.º 41
0
 def testBasicInclude(self):
     if foamVersionNumber()<(2,):
         return
     test=ParsedParameterFile(self.theFile)
     data1=deepcopy(test.content)
     open(self.theFile,"w").write(str(FoamFileGenerator(data1,header=test.header)))
     del test
     test2=ParsedParameterFile(self.theFile)
     self.assertEqual(data1,test2.content)
Exemplo n.º 42
0
 def setUp(self):
     try:
         if foamVersionNumber()>=(1,6):
             from nose.plugins.skip import SkipTest
             raise SkipTest()
     except ImportError:
         pass
     
     self.theFile="/tmp/test.diesleSpray"
     system("cp "+path.join(dieselAachenTutorial(),"0","spray")+" "+self.theFile)
Exemplo n.º 43
0
 def testTimeReplacingZippedFile(self):
     test = SolutionDirectory(self.theFile)["0"]
     self.assertEqual(len(test), 4)
     if foamFork() in ["openfoam", "openfoamplus"
                       ] and foamVersionNumber() >= (4, ):
         extension = ".orig"
     else:
         extension = ".org"
     test[gammaName()] = test[gammaName() + extension]
     self.assertEqual(len(test), 4)
Exemplo n.º 44
0
    def setUp(self):
        try:
            if foamVersionNumber()>=(1,6):
                from nose.plugins.skip import SkipTest
                raise SkipTest()
        except ImportError:
            pass

        self.theFile=mktemp()
        copyfile(path.join(dieselAachenTutorial(),"0","spray"),self.theFile)
Exemplo n.º 45
0
    def setUp(self):
        try:
            if foamVersionNumber()>=(1,6):
                from nose.plugins.skip import SkipTest
                raise SkipTest()
        except ImportError:
            pass

        self.theFile=mktemp()
        copyfile(path.join(dieselAachenTutorial(),"0","spray"),self.theFile)
Exemplo n.º 46
0
    def setUp(self):
        self.testDir=mkdtemp()
        self.dest=path.join(self.testDir,"0.org")
        if foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
            null="0.orig"
        else:
            null="0.org"

        copytree(path.join(foamTutorials(),"incompressible","simpleFoam","motorBike",null),
                 self.dest)
    def test_with_broyden(self):
        """
        broyden test
        """
        if not foamVersionNumber() in [(2,3),(2,2)]:
            raise unittest.SkipTest("need ver.2.3 or 2.2 for this unittest.")
        
        cavityTut = os.path.join(foamTutorials(),
                                "incompressible/icoFoam/cavity")

        if not os.path.exists(cavityTut):
            raise unittest.SkipTest("need $FOAM_TUTORIALS/incompressible/cavity \
                               for unittest.")

        try:
            shutil.copytree(cavityTut, os.path.join(self.tmpDir,"cavity"))
            cavityCase = SolutionDirectory(os.path.join(self.tmpDir,"cavity"))
        except:
            raise unittest.SkipTest("can not copy cavity case to temp_dir.")   
                 
        #create Allrun 
        with open(os.path.join(cavityCase.name,"Allrun"),'w') as fp:
            fp.write('#!/bin/sh\nblockMesh>log.blockMesh\nicoFoam>log.icoFoam\n')
        os.chmod(os.path.join(cavityCase.name,"Allrun"),0777)
         
        #append controlDict
        fObj="""
functions
{
    probes
    {
        type            probes;
        functionObjectLibs ("libsampling.so");
        enabled         true;
        outputControl   timeStep;
        outputInterval  1;
        fields
        (
            p
        );
        probeLocations
        (
            ( 0.1 0.0925 0.005 )
        );
    }
}
"""
        with open(cavityCase.controlDict(),'a') as fp:
            fp.write(fObj)
        
        #test start
        sim = set_as_top(BroydenCavityInstance())
        sim.cavity.case_dir = cavityCase.name
        sim.run()
        self.assertEqual(round(sim.cavity.nu,4),0.01)
Exemplo n.º 48
0
    def testReadTutorial(self):
        if foamVersionNumber()>=(2,):
            # there is no appropriate volSymmTensorField-file in 2.x
            return

        test=ParsedParameterFile(self.theFile)
        data1=deepcopy(test.content)
        open(self.theFile,"w").write(str(FoamFileGenerator(data1,header=test.header)))
        del test
        test2=ParsedParameterFile(self.theFile)
        self.assertEqual(data1,test2.content)
Exemplo n.º 49
0
    def setUp(self):
        self.theFile=mktemp()
        turb=path.join(simplePitzTutorial(),"constant")
        if oldApp():
            turb=path.join(turb,"turbulenceProperties")
        elif foamVersionNumber()>=(3,):
            turb=path.join(turb,"turbulenceProperties")
        else:
            turb=path.join(turb,"RASProperties")

        copyfile(turb,self.theFile)
Exemplo n.º 50
0
    def setUp(self):
        self.theDir=mkdtemp()
        if oldTutorialStructure():
            null="0"
        elif foamFork() in ["openfoam","openfoamplus"] and foamVersionNumber()>=(4,):
            null="0.orig"
        else:
            null="0.org"

        usedDir=path.join(self.theDir,"data")
        copytree(path.join(simpleBikeTutorial(),null),usedDir)
        self.theFile=path.join(usedDir,"U")
Exemplo n.º 51
0
    def __init__(self,
                 progress=False,
                 doTimelines=False,
                 doFiles=True,
                 singleFile=False,
                 startTime=None,
                 endTime=None):
        """
        :param progress: Print time progress on console?
        """
        StandardLogAnalyzer.__init__(self,
                                     progress=progress,
                                     doTimelines=doTimelines,
                                     doFiles=doFiles,
                                     singleFile=singleFile,
                                     startTime=startTime,
                                     endTime=endTime)

        self.addAnalyzer(
            "Bounding",
            GeneralBoundingLineAnalyzer(doTimelines=doTimelines,
                                        doFiles=doFiles,
                                        singleFile=singleFile,
                                        startTime=startTime,
                                        endTime=endTime))

        if foamVersionNumber(useConfigurationIfNoInstallation=True) < (1, 4):
            courantExpression = "^Mean and max Courant Numbers = (.+) (.+)$"
        else:
            courantExpression = "^Courant Number mean: (.+) max: (\S+).*$"

        self.addAnalyzer(
            "Courant",
            GeneralSimpleLineAnalyzer("courant",
                                      courantExpression,
                                      titles=["mean", "max"],
                                      doTimelines=doTimelines,
                                      doFiles=doFiles,
                                      singleFile=singleFile,
                                      startTime=startTime,
                                      endTime=endTime))