################################################################################
All: mesh init run reconstruct
mesh: wmesh gmesh patch parprep reconstructMesh
###############
clean:
	(rm -fr *.log [1-9]* time v postProcessing error output uc us);
	(rm -fr 0 1 proc* 0.* constant/polyMesh log);
	(rm -fr hmin constant/*/polyMesh log* *OpenFOAM *.foam *.blockMesh)
	(rm -fr constant/cellToRegion system/blockMeshDict system/decomposeParDict)
	(rm -fr system/createPatchDict system/snappyHexMeshDict system/topoSetDict)
	(rm -fr system/*/decomposeParDict system/*/topoSetDict)
###############
wmesh:
	(python src/wmesh.py > system/blockMeshDict)

	(blockMesh);
	(rm -fr constant/aCable/polyMesh)
	(cp src/snappyHexMeshDict.ac system/snappyHexMeshDict)
	(snappyHexMesh -overwrite)
	(mv constant/polyMesh constant/aCable/)

	(blockMesh);
	(rm -fr constant/cCable/polyMesh)
	(cp src/snappyHexMeshDict.cc system/snappyHexMeshDict)
	(snappyHexMesh -overwrite)
	(mv constant/polyMesh constant/cCable)
gmesh:
	(rm -fr constant/polyMesh/*)
	(python src/mesh.py > system/blockMeshDict)
	(blockMesh);
	(cp src/snappyHexMeshDict system/)
	(snappyHexMesh -overwrite)
	(cp src/createPatchDict system/)
	(createPatch -overwrite)
patch:
	(topoSet -dict src/topoSetDict.globalSets)
	(topoSet -dict src/topoSetDict.splitZones)
	(createPatch -dict src/createPatchDict2 -overwrite)
parprep:
	(rm -rf 1 processor*);
	(./src/parprep.sh | tee log.parprep);
init:
	(./src/init.sh)
reconstructMesh:
	(reconstructParMesh -region solid -constant);
	(reconstructParMesh -region salt -constant);
	(reconstructParMesh -region cathode -constant);
run:
	(./src/prun.sh);
#############
###reconstructMesh:
#############
reconstruct:
	(reconstructPar);
	(reconstructPar -region solid);
	(reconstructPar -region salt);
	(reconstructPar -region cathode);
################################################################################
