Skip to content

Commit

Permalink
Merge pull request #6092 from gassmoeller/update_generator_subsection
Browse files Browse the repository at this point in the history
Update subsection for random uniform particle generator
  • Loading branch information
bangerth authored Oct 18, 2024
2 parents dcf512b + 0272415 commit d91e41b
Show file tree
Hide file tree
Showing 92 changed files with 120 additions and 112 deletions.
2 changes: 1 addition & 1 deletion benchmarks/annulus/transient/transient_annulus.prm
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ subsection Particles
set Minimum particles per cell = 12

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 49152
end
end
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/rigid_shear/transient/rigid_shear.prm
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 8192
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ subsection Particles
set Particle generator name = random uniform

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 4e5
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ subsection Particles
set Particle generator name = random uniform

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1e5
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ subsection Particles
set Particle generator name = random uniform

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1e5
end
end
Expand Down
31 changes: 25 additions & 6 deletions contrib/utilities/update_scripts/prm_files/move_particles.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,19 +75,38 @@ def move_number_of_particles_to_correct_subsection(parameters):
parameters["Particles"]["value"]["Generator"]["value"]["Uniform radial"] = {"comment": "", "value" : dict({}), "type": "subsection"}
parameters["Particles"]["value"]["Generator"]["value"]["Uniform radial"]["value"]["Number of particles"] = parameter

elif generator == "random uniform" or generator == "probability density function":
elif generator == "random uniform":
if not "Random uniform" in parameters["Particles"]["value"]["Generator"]["value"]:
parameters["Particles"]["value"]["Generator"]["value"]["Random uniform"] = {"comment": "", "value" : dict({}), "type": "subsection"}
parameters["Particles"]["value"]["Generator"]["value"]["Random uniform"]["value"]["Number of particles"] = parameter

elif generator == "probability density function":
if not "Probability density function" in parameters["Particles"]["value"]["Generator"]["value"]:
parameters["Particles"]["value"]["Generator"]["value"]["Probability density function"] = {"comment": "", "value" : dict({}), "type": "subsection"}
parameters["Particles"]["value"]["Generator"]["value"]["Probability density function"]["value"]["Number of particles"] = parameter

# the parameter was not used by other generators. silently delete it
else:
# No generator was manually selected, move the parameter into the default generator subsection
if not "Probability density function" in parameters["Particles"]["value"]["Generator"]["value"]:
parameters["Particles"]["value"]["Generator"]["value"]["Probability density function"] = {"comment": "", "value" : dict({}), "type": "subsection"}

parameters["Particles"]["value"]["Generator"]["value"]["Probability density function"]["value"]["Number of particles"] = parameter

if not "Random uniform" in parameters["Particles"]["value"]["Generator"]["value"]:
parameters["Particles"]["value"]["Generator"]["value"]["Random uniform"] = {"comment": "", "value" : dict({}), "type": "subsection"}

parameters["Particles"]["value"]["Generator"]["value"]["Random uniform"]["value"]["Number of particles"] = parameter

# If 'random uniform' is selected or defaulted, but there is no 'random uniform' subsection, move the 'probability density function' subsection
# this is necessary, because for a while the 'probability density function' section was used for the 'random uniform' generator as well
for particle_section in ["Particles","Particles 2"]:
if particle_section in parameters:
if ("Particle generator name" in parameters[particle_section]["value"] and parameters[particle_section]["value"]["Particle generator name"]["value"] == "random uniform") \
or not "Particle generator name" in parameters[particle_section]["value"]:
if "Generator" in parameters["Particles"]["value"]:
# if the parameter does not already exist in random uniform
if not "Random uniform" in parameters[particle_section]["value"]["Generator"]["value"] \
and "Probability density function" in parameters[particle_section]["value"]["Generator"]["value"]:
subsection = parameters[particle_section]["value"]["Generator"]["value"]["Probability density function"]
parameters[particle_section]["value"]["Generator"]["value"]["Random uniform"] = subsection
del parameters[particle_section]["value"]["Generator"]["value"]["Probability density function"]

return parameters

def move_particle_postprocess_parameters_back(parameters):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ subsection Particles
set Particle generator name = random uniform

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ subsection Particles
set Particle generator name = random uniform

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ end

subsection Particles
subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 50000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 50000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ end

subsection Particles
subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ end

subsection Particles
subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ end

subsection Particles
subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1000
end
end
Expand Down
2 changes: 1 addition & 1 deletion cookbooks/grain_size_ridge/doc/particles.part.prm
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 500000
end
end
Expand Down
2 changes: 1 addition & 1 deletion cookbooks/grain_size_ridge/grain_size_ridge.prm
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 500000
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ subsection Particles
set Interpolation scheme = cell average

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 350000
end
end
Expand Down
2 changes: 1 addition & 1 deletion include/aspect/particle/generator/random_uniform.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#ifndef _aspect_particle_generator_random_uniform_h
#define _aspect_particle_generator_random_uniform_h

#include <aspect/particle/generator/probability_density_function.h>
#include <aspect/particle/generator/interface.h>

namespace aspect
{
Expand Down
4 changes: 2 additions & 2 deletions source/particle/generator/random_uniform.cc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ namespace aspect
{
prm.enter_subsection("Generator");
{
prm.enter_subsection("Probability density function");
prm.enter_subsection("Random uniform");
{
prm.declare_entry ("Number of particles", "1000",
Patterns::Double (0.),
Expand Down Expand Up @@ -92,7 +92,7 @@ namespace aspect
{
prm.enter_subsection("Generator");
{
prm.enter_subsection("Probability density function");
prm.enter_subsection("Random uniform");
{
n_particles = static_cast<types::particle_index>(prm.get_double ("Number of particles"));
random_cell_selection = prm.get_bool("Random cell selection");
Expand Down
2 changes: 1 addition & 1 deletion tests/annulus_transient.prm
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ subsection Particles
set Minimum particles per cell = 12

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 49152
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/checkpoint_03_particles.prm
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1000
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/checkpoint_04_particles_no_output.prm
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1000
end
end
Expand Down
4 changes: 2 additions & 2 deletions tests/checkpoint_08_particles_multiple_systems.prm
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ subsection Particles
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand All @@ -106,7 +106,7 @@ subsection Particles 2
end

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/composition_passive_particles.prm
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ end

subsection Particles
subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 10
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/cookbook_mantle_convection_annulus.prm
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ subsection Particles
set Radial layers = 50
end

subsection Probability density function
subsection Random uniform
set Number of particles = 123
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/grain_size_growth_one_cell_particles.prm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ subsection Particles
set Integration scheme = rk2

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 50000
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/grain_size_growth_particles.prm
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ subsection Particles
set Integration scheme = rk2

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 10
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/grain_size_phase_function.prm
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ subsection Particles
set List of particle properties = grain size

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 10000
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/gs_drucker_prager_extension.prm
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ subsection Particles
set List of particle properties = grain size

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 10000
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/gs_drucker_prager_extension_adiabatic.prm
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ subsection Particles
set List of particle properties = grain size

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 10000
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/matrix_nonzeros_2.prm
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ subsection Particles
set Interpolation scheme = cell average

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/matrix_nonzeros_3.prm
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ subsection Particles
set Interpolation scheme = cell average

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ subsection Particles
set Load balancing strategy = remove and add particles

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 512
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/particle_count_statistics.prm
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ end

subsection Particles
subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 1000
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/particle_exclude_all_properties.prm
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ subsection Particles
set List of particle properties = initial position, initial composition, velocity # lpo, integrated strain invariant #function, initial composition, initial position, pT path

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/particle_exclude_one_property.prm
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ subsection Particles
set List of particle properties = initial position, initial composition, velocity # lpo, integrated strain invariant #function, initial composition, initial position, pT path

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/particle_exclude_one_property_vtu.prm
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ subsection Particles
set List of particle properties = initial position, initial composition, velocity # lpo, integrated strain invariant #function, initial composition, initial position, pT path

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand Down
2 changes: 1 addition & 1 deletion tests/particle_exclude_three_properties_vtu.prm
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ subsection Particles
set List of particle properties = initial position, initial composition, velocity # lpo, integrated strain invariant #function, initial composition, initial position, pT path

subsection Generator
subsection Probability density function
subsection Random uniform
set Number of particles = 100
end
end
Expand Down
Loading

0 comments on commit d91e41b

Please sign in to comment.