Analylising errors

This commit is contained in:
L-Nafaryus 2021-04-16 15:28:04 +05:00
parent 58deb235bb
commit e12ad144ba
7 changed files with 19628 additions and 10 deletions

1
.gitignore vendored
View File

@ -6,7 +6,6 @@ build/
*.bcf
*.blg
*.fdb_latexmk
*.log
*.pdf
*.run.xml
*.synctex.gz

19
TODO.md
View File

@ -6,6 +6,25 @@
- renumberMesh
- processorField
## Errors
- salome:
th. 139990926538304 -
Trace /volatile/salome/jenkins/workspace/Salome_master_CO7/SALOME-9.6.0-CO7/SOURCES/SMESH/src/SMESH/SMESH_subMesh.cxx [2005] :
NETGEN_2D3D failed on sub-shape #1 with error COMPERR_BAD_INPUT_MESH
"NgException at Volume meshing: Stop meshing since surface mesh not consistent Some edges multiple times in surface mesh"
th. 140588498282048 -
Trace /volatile/salome/jenkins/workspace/Salome_master_CO7/SALOME-9.6.0-CO7/SOURCES/SMESH/src/SMESH/SMESH_subMesh.cxx [2005] :
NETGEN_2D3D failed on sub-shape #47 with error COMPERR_WARNING
"Thickness 0.001 of viscous layers not reached, average reached thickness is 0.000928207"
th. 139986338838080 -
Trace /volatile/salome/jenkins/workspace/Salome_master_CO7/SALOME-9.6.0-CO7/SOURCES/SMESH/src/SMESH/SMESH_subMesh.cxx [2005] :
NETGEN_2D3D failed on sub-shape #1 with error COMPERR_BAD_INPUT_MESH
"NgException at Volume meshing: Stop meshing since boundary mesh is overlapping Intersecting triangles"
## 1.03.21
- [x] boundary type (wall or symetryPlane)
- [x] restruct for ways

View File

@ -69,7 +69,7 @@ class simple:
[0, 0, 1],
[1, 1, 1]
]
fillet = True
fillet = False
fineness = 1
parameters = Parameters(
minSize = 0.0005,
@ -103,7 +103,7 @@ class bodyCentered:
[0, 0, 1],
[1, 1, 1]
]
fillet = True
fillet = False
fineness = 1
parameters = Parameters(
minSize = 0.0005,
@ -137,7 +137,7 @@ class faceCentered:
[0, 0, 1],
[1, 1, 1]
]
fillet = True
fillet = False
fineness = 1
parameters = Parameters(
minSize = 0.0005,

18502
logs/anisotrope.1.log Normal file

File diff suppressed because it is too large Load Diff

1063
logs/tasks.1.log Normal file

File diff suppressed because it is too large Load Diff

43
run.py
View File

@ -42,7 +42,24 @@ def main():
os.makedirs(task.export)
createMesh(task)
calculate(task)
if os.path.exists(os.path.join(task.export, "mesh.unv")):
task.mesh = True
returncode = calculate(task)
if not returncode:
task.flow = True
with open(os.path.join(config.LOG, "tasks.log"), "a") as io:
idx = tasks.index(task)
io.write(f"""Task {idx}:
structure:\t{task.structure}
direction:\t{task.direction}
theta:\t{task.theta}
mesh:\t{task.mesh}
flow:\t{task.flow}\n""")
logger.info(f"Warnings: {logger.warnings}\tErrors: {logger.errors}")
@ -60,8 +77,14 @@ def checkEnv():
logger.info(f"enviroment:\n\t{pythonVersion}\n\t{salomeVersion}\n\t{foamVersion}")
class Task:
def __init__(self, **kwargs):
for (k, v) in kwargs.items():
setattr(self, k, v)
def createTasks():
Task = namedtuple("Task", ["structure", "theta", "fillet", "direction", "export"])
#Task = namedtuple("Task", ["structure", "theta", "fillet", "direction", "export"])
tasks = []
structures = [ getattr(config, s)() for s in config.structures ]
@ -76,10 +99,18 @@ def createTasks():
"theta-{}".format(theta)
)
tasks.append(
Task(name, theta, structure.fillet, direction, export)
task = Task(
structure = name,
theta = theta,
fillet = structure.fillet,
direction = direction,
export = export,
mesh = False,
flow = False
)
tasks.append(task)
return tasks
@ -139,13 +170,15 @@ def calculate(task):
foam_utils.foamDictionary(f"processor{n}/0/U", "boundaryField.inlet.type", "pressureInletVelocity")
foam_utils.foamDictionary(f"processor{n}/0/U", "boundaryField.inlet.value", "uniform (0 0 0)")
foam_utils.simpleFoam()
returncode = foam_utils.simpleFoam()
os.chdir(config.ROOT)
etime = time.monotonic()
logger.info("calculate: elapsed time: {}".format(timedelta(seconds = etime - stime)))
return returncode
def postprocessing(tasks):

View File

@ -114,11 +114,13 @@ def potentialFoam(case: str = None):
def simpleFoam(case: str = None):
application("simpleFoam", "-parallel", useMPI = True, case = case, stderr = True)
_, returncode = application("simpleFoam", "-parallel", useMPI = True, case = case, stderr = True)
with open("simpleFoam.log", "r") as io:
for line in io:
if re.search("solution converged", line):
logger.info("simpleFoam:\n\t{}".format(line.strip()))
return returncode