161 atmospheric_solver, diffusion_solver, chemical_solver, size, arguments
163 offset = [0] * arguments.dimensions
165 project = exahype2.Project(
166 namespace=[
"applications",
"exahype2",
"GravityWaves"],
167 project_name=
"GravityWaves",
169 executable=
"ExaHyPE",
173 atmospheric_solver=atmospheric_solver,
174 diffusion_solver=diffusion_solver,
175 chemical_solver=chemical_solver,
178 if atmospheric_solver
is not None:
179 project.add_solver(atmospheric_solver)
181 if diffusion_solver
is not None:
182 project.add_solver(diffusion_solver)
184 if chemical_solver
is not None:
185 project.add_solver(chemical_solver)
188 atmospheric_solver=atmospheric_solver,
189 diffusion_solver=diffusion_solver,
190 chemical_solver=chemical_solver,
193 project.set_output_path(arguments.output)
195 project.set_global_simulation_parameters(
196 dimensions=arguments.dimensions,
199 min_end_time=arguments.end_time,
200 max_end_time=arguments.end_time,
201 first_plot_time_stamp=(0
if arguments.number_of_snapshots > 0
else -1),
202 time_in_between_plots=(
203 arguments.end_time / arguments.number_of_snapshots
204 if arguments.number_of_snapshots > 0
208 arguments.periodic_boundary_conditions_x,
209 arguments.periodic_boundary_conditions_y,
210 arguments.periodic_boundary_conditions_z,
214 synchronizePatchGravityWaves(
215 atmospheric_solver=atmospheric_solver,
216 diffusion_solver=diffusion_solver,
217 chemical_solver=chemical_solver,
220 project.set_build_mode(mode=peano4.output.string_to_mode(arguments.build_mode))
221 project = project.generate_Peano4_project(verbose=
True)
223 project.output.makefile.add_CXX_flag(f
"""-DGRAVITY={GRAVITY}""")
224 project.output.makefile.add_CXX_flag(f
"""-DUNIVERSAL_GAS_CONSTANT={R}""")
225 project.output.makefile.add_CXX_flag(
226 f
"""-DMOLAR_MASS_ATOMIC_OXYGEN=0.016"""
228 project.output.makefile.add_CXX_flag(
229 f
"""-DMOLAR_MASS_MOLECULAR_OXYGEN=0.032"""
231 project.output.makefile.add_CXX_flag(
232 f
"""-DMOLAR_MASS_NITROGEN=0.028"""