Package PyFoam :: Package RunDictionary :: Module SolutionDirectory :: Class SolutionDirectory
[hide private]
[frames] | no frames]

Class SolutionDirectory

source code

                object --+    
                         |    
Basics.Utilities.Utilities --+
                             |
                            SolutionDirectory

Represents a solution directory

In the solution directory subdirectories whose names are numbers are assumed to be solutions for a specific time-step

A sub-directory (called the Archive) is created to which solution data is copied

Instance Methods [hide private]
 
__init__(self, name, archive="ArchiveDir", paraviewLink=True, parallel=False, region=None)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
setToParallel(self)
Use the parallel times instead of the serial.
source code
 
addLocalConfig(self)
Add the local configuration file of the case to the configuration
source code
 
__len__(self) source code
 
__contains__(self, item) source code
 
__getitem__(self, key) source code
 
__setitem__(self, key, value) source code
 
__delitem__(self, key) source code
 
__iter__(self) source code
 
timeName(self, item, minTime=False)
Finds the name of a directory that corresponds with the given parameter
source code
 
timeIndex(self, item, minTime=False)
Finds the index of a directory that corresponds with the given parameter
source code
 
fullPath(self, time) source code
 
isValid(self)
Checks whether this is a valid case directory by looking for the system- and constant-directories and the controlDict-file
source code
 
missingFiles(self)
Return a list of all the missing files and directories that are needed for a valid case
source code
 
addToClone(self, name)
add directory to the list that is needed to clone this case
source code
SolutionDirectory or correct subclass
cloneCase(self, name, svnRemove=True, followSymlinks=False)
create a clone of this case directory.
source code
 
packCase(self, tarname, last=False, exclude=[], additional=[], base=None)
Packs all the important files into a compressed tarfile.
source code
 
addToTar(self, tar, name, exclude=[], base=None)
The workhorse for the packCase-method
source code
 
getParallelTimes(self)
Get a list of the times in the processor0-directory
source code
 
reread(self, force=False)
Rescan the directory for the time directories
source code
 
processorDirs(self)
List with the processor directories
source code
 
nrProcs(self)
The number of directories with processor-data
source code
 
sorttimes(self, x, y)
Sort function for the solution files
source code
 
getTimes(self)
Returns: List of all the available times
source code
 
addBackup(self, pth)
add file to list of files that are to be copied to the archive
source code
str
getFirst(self)
Returns: the first time for which a solution exists
source code
str
getLast(self)
Returns: the last time for which a solution exists
source code
 
lastToArchive(self, name)
copy the last solution (plus the backup-files to the archive)
source code
 
clearResults(self, after=None, removeProcs=False, keepLast=False, vtk=True, keepRegular=False, functionObjectData=False)
remove all time-directories after a certain time.
source code
 
clearPattern(self, glob)
Clear all files that fit a certain shell (glob) pattern
source code
 
clearOther(self, pyfoam=True, clearHistory=False)
Remove additional directories
source code
 
clear(self, after=None, processor=True, pyfoam=True, keepLast=False, vtk=True, keepRegular=False, clearHistory=False, functionObjectData=False)
One-stop-shop to remove data
source code
str
initialDir(self)
Returns: the name of the first time-directory (==initial conditions
source code
str
latestDir(self)
Returns: the name of the first last-directory (==simulation results)
source code
str
constantDir(self, region=None, processor=None)
Returns: the name of the constant-directory
source code
str
systemDir(self, region=None)
Returns: the name of the system-directory
source code
str
controlDict(self)
Returns: the name of the controlDict
source code
str
polyMeshDir(self, region=None, time=None, processor=None)
Returns: the name of the polyMesh
source code
str
boundaryDict(self, region=None, time=None, processor=None)
Returns: name of the boundary-file
source code
str
blockMesh(self, region=None)
Returns: the name of the blockMeshDict if it exists.
source code
BasicFile
makeFile(self, name)
create a file in the solution directory and return a corresponding BasicFile-object
source code
 
getRegions(self)
Gets a list of all the available mesh regions by checking all directories in constant and using all those that have a polyMesh-subdirectory
source code
 
addToHistory(self, *text)
Adds a line with date and username to a file 'PyFoamHistory' that resides in the local directory
source code
 
listFiles(self, directory=None)
List all the plain files (not directories) in a subdirectory of the case
source code
 
getDictionaryText(self, directory, name)
Returns: the contents of the file as a big string
source code
 
writeDictionaryContents(self, directory, name, contents)
Writes the contents of a dictionary
source code
 
writeDictionaryText(self, directory, name, text)
Writes the contents of a dictionary
source code
 
getDictionaryContents(self, directory, name)
Returns: the contents of the file as a python data-structure
source code

Inherited from Basics.Utilities.Utilities: execute, listDirectory, writeDictionaryHeader

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]

Inherited from Basics.Utilities.Utilities: excludeNames

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, name, archive="ArchiveDir", paraviewLink=True, parallel=False, region=None)
(Constructor)

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Parameters:
  • name - Name of the solution directory
  • archive - name of the directory where the lastToArchive-method should copy files, if None no archive is created
  • paraviewLink - Create a symbolic link controlDict.foam for paraview
  • parallel - use the first processor-subdirectory for the authorative information
  • region - Mesh region for multi-region cases
Overrides: object.__init__

setToParallel(self)

source code 

Use the parallel times instead of the serial.

Used to reset the behaviour after it has been set by the constructor

timeName(self, item, minTime=False)

source code 

Finds the name of a directory that corresponds with the given parameter

Parameters:
  • item - the time that should be found
  • minTime - search for the time with the minimal difference. Otherwise an exact match will be searched

timeIndex(self, item, minTime=False)

source code 

Finds the index of a directory that corresponds with the given parameter

Parameters:
  • item - the time that should be found
  • minTime - search for the time with the minimal difference. Otherwise an exact match will be searched

addToClone(self, name)

source code 

add directory to the list that is needed to clone this case

Parameters:
  • name - name of the subdirectory (the case directory is prepended)

cloneCase(self, name, svnRemove=True, followSymlinks=False)

source code 

create a clone of this case directory. Remove the target directory, if it already exists

Parameters:
  • name - Name of the new case directory
  • svnRemove - Look for .svn-directories and remove them
  • followSymlinks - Follow symbolic links instead of just copying them
Returns: SolutionDirectory or correct subclass
The target directory

packCase(self, tarname, last=False, exclude=[], additional=[], base=None)

source code 

Packs all the important files into a compressed tarfile. Uses the essential-list and excludes the .svn-directories. Also excludes files ending with ~

Parameters:
  • tarname - the name of the tar-file
  • last - add the last directory to the list of directories to be added
  • exclude - List with additional glob filename-patterns to be excluded
  • additional - List with additional glob filename-patterns that are to be added
  • base - Different name that is to be used as the baseName for the case inside the tar

getTimes(self)

source code 
Returns:
List of all the available times

getFirst(self)

source code 
Returns: str
the first time for which a solution exists

getLast(self)

source code 
Returns: str
the last time for which a solution exists

lastToArchive(self, name)

source code 

copy the last solution (plus the backup-files to the archive)

Parameters:
  • name - name of the sub-directory in the archive

clearResults(self, after=None, removeProcs=False, keepLast=False, vtk=True, keepRegular=False, functionObjectData=False)

source code 

remove all time-directories after a certain time. If not time ist set the initial time is used

Parameters:
  • after - time after which directories ar to be removed
  • removeProcs - if True the processorX-directories are removed. Otherwise the timesteps after last are removed from the processor-directories
  • keepLast - Keep the data from the last timestep
  • vtk - Remove the VTK-directory if it exists
  • keepRegular - keep all the times (only remove processor and other stuff)
  • functionObjectData - tries do determine which data was written by function obejects and removes it

clearPattern(self, glob)

source code 

Clear all files that fit a certain shell (glob) pattern

Parameters:
  • glob - the pattern which the files are going to fit

clearOther(self, pyfoam=True, clearHistory=False)

source code 

Remove additional directories

Parameters:
  • pyfoam - rremove all directories typically created by PyFoam

clear(self, after=None, processor=True, pyfoam=True, keepLast=False, vtk=True, keepRegular=False, clearHistory=False, functionObjectData=False)

source code 

One-stop-shop to remove data

Parameters:
  • after - time after which directories ar to be removed
  • processor - remove the processorXX directories
  • pyfoam - rremove all directories typically created by PyFoam
  • keepLast - Keep the last time-step

initialDir(self)

source code 
Returns: str
the name of the first time-directory (==initial conditions

latestDir(self)

source code 
Returns: str
the name of the first last-directory (==simulation results)

constantDir(self, region=None, processor=None)

source code 
Parameters:
  • region - Specify the region for cases with more than 1 mesh
  • processor - name of the processor directory
Returns: str
the name of the constant-directory

systemDir(self, region=None)

source code 
Parameters:
  • region - Specify the region for cases with more than 1 mesh
Returns: str
the name of the system-directory

controlDict(self)

source code 
Returns: str
the name of the controlDict

polyMeshDir(self, region=None, time=None, processor=None)

source code 
Parameters:
  • region - Specify the region for cases with more than 1 mesh
  • time - Time for which the mesh should be looked at
  • processor - Name of the processor directory for decomposed cases
Returns: str
the name of the polyMesh

boundaryDict(self, region=None, time=None, processor=None)

source code 
Parameters:
  • region - Specify the region for cases with more than 1 mesh
Returns: str
name of the boundary-file

blockMesh(self, region=None)

source code 
Parameters:
  • region - Specify the region for cases with more than 1 mesh
Returns: str
the name of the blockMeshDict if it exists. Returns an empty string if it doesn't

makeFile(self, name)

source code 

create a file in the solution directory and return a corresponding BasicFile-object

Parameters:
  • name - Name of the file
Returns: BasicFile

listFiles(self, directory=None)

source code 

List all the plain files (not directories) in a subdirectory of the case

Parameters:
  • directory - the subdirectory. If unspecified the case-directory itself is used
Returns:
List with the plain filenames

getDictionaryText(self, directory, name)

source code 
Parameters:
  • directory - Sub-directory of the case
  • name - name of the dictionary file
Returns:
the contents of the file as a big string

writeDictionaryContents(self, directory, name, contents)

source code 

Writes the contents of a dictionary

Parameters:
  • directory - Sub-directory of the case
  • name - name of the dictionary file
  • contents - Python-dictionary with the dictionary contents

writeDictionaryText(self, directory, name, text)

source code 

Writes the contents of a dictionary

Parameters:
  • directory - Sub-directory of the case
  • name - name of the dictionary file
  • text - String with the dictionary contents

getDictionaryContents(self, directory, name)

source code 
Parameters:
  • directory - Sub-directory of the case
  • name - name of the dictionary file
Returns:
the contents of the file as a python data-structure