17parser = argparse.ArgumentParser(description=
"Dastgen2 testing script")
19 "-j",
"--parallel-builds", dest=
"j", type=int, default=-1, help=
"Parallel builds"
34 help=
"Peano4 directory",
36args = parser.parse_args()
43project_namespace = [
"tests",
"exaparty",
"dastgenTest"]
46 namespace=project_namespace, project_name=
"dastgen_test", executable=
"dastgen_test"
57 particles_per_cell=20,
58 min_h=cell_size / 100,
65particle_set = project.add_particle_species(particle)
68build_mode = peano4.api.output.CompileMode.ASSERTS
72domain_size = [1, 1, 1]
73periodic_boundary_conditions = [
False,
False,
False]
75project.set_global_simulation_parameters(
76 dimensions=dimensions,
78 domain_size=domain_size,
81 first_plot_time_stamp=0.0,
82 time_in_between_plots=1.0,
83 periodic_BC=periodic_boundary_conditions,
87project.set_Peano4_installation(args.peanodir, build_mode)
88project._project.output.makefile.add_cpp_file(
"DastgenTest.cpp", generated=
False)
103coords = np.zeros((Npart**dimensions, 3))
105x = np.linspace(offset, 1, Npart, endpoint=
False)
106y = np.linspace(offset, 1, Npart, endpoint=
False)
108xp, yp = np.meshgrid(x, y)
109xp = xp.reshape((np.prod(xp.shape),))
110yp = yp.reshape((np.prod(yp.shape),))
115initialisation_snippet =
"""
117 * Initial Conditions: None. The dummy particles aren't even proper SPH
118 * particles. Notably, they don't even contain fields like mass, density,
119 * etc. Nothing to do here except read in particle positions (which is
120 * done elsewhere) and give particles a search radius, which needs to
123 tarch::la::Vector<Dimensions,double> GridSize = marker.h();
124 const double GridSize_x = GridSize(0);
125 particle->setSearchRadius( GridSize_x / 4.0);
129project.algorithm_step_initial_conditions.add_action_set(
131 particle_set=particle_set,
132 initialisation_call=initialisation_snippet,
134 additional_includes=
"",
143peano4_project = project.generate_Peano4_project(verbose=args.verbose)
151dirs = [
"vertexdata/",
"repositories/",
"globaldata/",
"observers/"]
153 if os.path.exists(dir):
158peano4_project.generate(
159 overwrite=peano4.api.output.Overwrite.Always, throw_away_data_after_generation=
True
161peano4_project.build(make_clean_first=
True, number_of_parallel_builds=args.j)
166 for f
in os.listdir(
".")
167 if f.endswith(
".peano-patch-file")
or f.endswith(
".vtu")
or f.endswith(
".pvd")
169for f
in output_files:
A dummy particle containing meaningless variables to test the functionality of dastgen2.
This file is part of the ExaParty project.