obr.OpenFOAM.case¶
Module Contents¶
Classes¶
Abstraction of OpenFOAMs config files which contain key value pairs or key block pairs |
|
A class for simple access to typical OpenFOAM files |
Attributes¶
- obr.OpenFOAM.case.logger¶
- obr.OpenFOAM.case.OF_HEADER_REGEX = Multiline-String¶
Show Value
"""(/\*--------------------------------\*- C\+\+ -\*----------------------------------\*\\ (\||)\s*========= \|(\s*\||) (\||)\s*\\\\ / F ield \| (OpenFOAM:|foam-extend:)\s*[\d\w\W]*\s*(\||) (\||)\s*\\\\ / O peration \| (Version:|Website:)\s*[\d\w\W]*\s*(\||) (\||)\s*\\\\ / A nd \| (Web:|Version:|Website)\s*[\d\w\W]*\s*(\||) (\||)\s*\\\\/ M anipulation \|(\s*\||) \\\*---------------------------------------------------------------------------\*/)"""
- class obr.OpenFOAM.case.File(**kwargs)¶
Bases:
Owls.parser.FoamDict.FileParserAbstraction of OpenFOAMs config files which contain key value pairs or key block pairs
- get(name: str)¶
Get a value from an OpenFOAM dictionary file
- md5sum(refresh=False) str¶
Compute a files md5sum
- is_modified() bool¶
- set(args: dict)¶
modifies the current controlDict by the given dictionary
if the key exists in the controlDict the values are replaced non-existent keys are added
- class obr.OpenFOAM.case.OpenFOAMCase(path, job)¶
Bases:
obr.OpenFOAM.BlockMesh.BlockMeshA class for simple access to typical OpenFOAM files
- property path: pathlib.Path¶
- property system_folder: pathlib.Path¶
- property constant_folder: pathlib.Path¶
- property const_polyMesh_folder: pathlib.Path¶
- property system_include_folder: pathlib.Path¶
- property zero_folder: pathlib.Path¶
TODO check for 0.orig folder
- property init_p: pathlib.Path¶
- property init_U: pathlib.Path¶
- property is_decomposed: bool¶
- property time_folder: list[pathlib.Path]¶
Returns all timestep folder
- property processor_folder: list[pathlib.Path]¶
- property current_time: float¶
Returns the current timestep of the simulation
- property progress: float¶
Returns the progress of the simulation in percent
- property latest_solver_log_path: pathlib.Path¶
Returns the absolute path to the latest log
- property latest_log: Owls.parser.LogFile.LogFile¶
Returns handle to the latest log
- property finished: bool¶
check if the latest simulation run has finished gracefully
- property solver¶
- property config_file_tree: list[str]¶
Iterates through case file tree and returns a list of paths to non-symlinked files.
- property esi_version: bool¶
Check if esi version of OpenFOAM is sourced
- latest_log_path_: pathlib.Path¶
- config_files_in_folder(folder: pathlib.Path) Generator[Tuple[File, str], Any, None]¶
Yields all OF config files in given folder
- fetch_logs() list[pathlib.Path]¶
- fetch_latest_log() None¶
- has_openfoam_header(path: pathlib.Path) bool¶
- _exec_operation(operation) pathlib.Path¶
- reset_case()¶
Removes all artifacts after case generation
- replaceMesh(args)¶
Replace constant/polyMesh with a given polyMesh
- decomposePar(args={})¶
Sets decomposeParDict and calls decomposePar. If no decomposeParDict exists a new one gets created
- setKeyValuePair(args: dict)¶
- run(args: dict)¶
- is_file_modified(file: str) bool¶
Checks if a file has been modified by comparing the current md5sum with the previously saved one inside self.job.dict.
- is_tree_modified() list[str]¶
Iterates all files inside the case tree and returns a list of files that were modified, based on their md5sum.
- process_latest_time_stats() bool¶
This function parses the latest time step log and stores the results in the job document.
Return: A boolean indication whether processing was successful
- detailed_update()¶
Perform a detailed update on the job doc state
- remove_solver_logs()¶
Search for solver logs and deletes them
- perform_post_md5sum_calculations()¶
calculates md5sums for all case files. Primarily called from dispatch_post_hooks
- was_successful() bool¶
Returns True, if both its label and the last OBR operation returned successful, False otherwise.