22from conda_subprocess import check_output
33import shutil
44
5- source_directory = os .path .join (os .path .dirname (os .path .abspath (__file__ )), "source" )
65
7-
8- def generate_mesh (domain_size : float = 2.0 ) -> str :
6+ def generate_mesh (domain_size : float , source_directory : str ) -> str :
97 stage_name = "preprocessing"
108 gmsh_output_file_name = "square.msh"
119 source_file_name = "unit_square.geo"
1210 os .makedirs (stage_name , exist_ok = True )
13- _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name )
11+ _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name , source_directory = source_directory )
1412 _ = check_output (
1513 [
1614 "gmsh" , "-2" , "-setnumber" , "domain_size" , str (domain_size ),
@@ -40,13 +38,13 @@ def convert_to_xdmf(gmsh_output_file : str) -> dict:
4038 }
4139
4240
43- def poisson (meshio_output_xdmf : str , meshio_output_h5 : str ) -> dict :
41+ def poisson (meshio_output_xdmf : str , meshio_output_h5 : str , source_directory : str ) -> dict :
4442 stage_name = "processing"
4543 poisson_output_pvd_file_name = "poisson.pvd"
4644 poisson_output_numdofs_file_name = "numdofs.txt"
4745 source_file_name = "poisson.py"
4846 os .makedirs (stage_name , exist_ok = True )
49- _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name )
47+ _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name , source_directory = source_directory )
5048 _copy_file (stage_name = stage_name , source_file = meshio_output_xdmf )
5149 _copy_file (stage_name = stage_name , source_file = meshio_output_h5 )
5250 _ = check_output (
@@ -65,12 +63,12 @@ def poisson(meshio_output_xdmf: str, meshio_output_h5: str) -> dict:
6563 }
6664
6765
68- def plot_over_line (poisson_output_pvd_file : str , poisson_output_vtu_file : str ) -> str :
66+ def plot_over_line (poisson_output_pvd_file : str , poisson_output_vtu_file : str , source_directory : str ) -> str :
6967 stage_name = "postprocessing"
7068 pvbatch_output_file_name = "plotoverline.csv"
7169 source_file_name = "postprocessing.py"
7270 os .makedirs (stage_name , exist_ok = True )
73- _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name )
71+ _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name , source_directory = source_directory )
7472 _copy_file (stage_name = stage_name , source_file = poisson_output_pvd_file )
7573 _copy_file (stage_name = stage_name , source_file = poisson_output_vtu_file )
7674 _ = check_output (
@@ -82,14 +80,14 @@ def plot_over_line(poisson_output_pvd_file: str, poisson_output_vtu_file: str) -
8280 return os .path .abspath (os .path .join ("postprocessing" , pvbatch_output_file_name ))
8381
8482
85- def substitute_macros (pvbatch_output_file : str , ndofs : int , domain_size : float = 2.0 ) -> str :
83+ def substitute_macros (pvbatch_output_file : str , ndofs : int , domain_size : float , source_directory : str ) -> str :
8684 stage_name = "postprocessing"
8785 source_file_name = "prepare_paper_macros.py"
8886 template_file_name = "macros.tex.template"
8987 macros_output_file_name = "macros.tex"
9088 os .makedirs (stage_name , exist_ok = True )
91- _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name )
92- _copy_file_from_source (stage_name = stage_name , source_file_name = template_file_name )
89+ _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name , source_directory = source_directory )
90+ _copy_file_from_source (stage_name = stage_name , source_file_name = template_file_name , source_directory = source_directory )
9391 _copy_file (stage_name = stage_name , source_file = pvbatch_output_file )
9492 _ = check_output (
9593 [
@@ -104,12 +102,12 @@ def substitute_macros(pvbatch_output_file: str, ndofs: int, domain_size: float =
104102 return os .path .abspath (os .path .join (stage_name , macros_output_file_name ))
105103
106104
107- def compile_paper (macros_tex : str , plot_file : str ) -> str :
105+ def compile_paper (macros_tex : str , plot_file : str , source_directory : str ) -> str :
108106 stage_name = "postprocessing"
109107 paper_output = "paper.pdf"
110108 source_file_name = "paper.tex"
111109 os .makedirs (stage_name , exist_ok = True )
112- _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name )
110+ _copy_file_from_source (stage_name = stage_name , source_file_name = source_file_name , source_directory = source_directory )
113111 _copy_file (stage_name = stage_name , source_file = macros_tex )
114112 _copy_file (stage_name = stage_name , source_file = plot_file )
115113 _ = check_output (
@@ -126,12 +124,12 @@ def _poisson_collect_output(numdofs_file: str) -> int:
126124 return int (f .read ())
127125
128126
129- def _copy_file (stage_name , source_file ):
127+ def _copy_file (stage_name : str , source_file : str ):
130128 input_file = os .path .join (os .path .abspath (stage_name ), os .path .basename (source_file ))
131129 if input_file != source_file :
132130 shutil .copyfile (source_file , input_file )
133131
134132
135- def _copy_file_from_source (stage_name , source_file_name ):
133+ def _copy_file_from_source (stage_name : str , source_file_name : str , source_directory : str ):
136134 source_file = os .path .join (source_directory , source_file_name )
137135 shutil .copyfile (source_file , os .path .join (stage_name , source_file_name ))
0 commit comments