Peano 4
Loading...
Searching...
No Matches
exahype2.Project.Project Class Reference

ExaHyPE 2 project. More...

Inheritance diagram for exahype2.Project.Project:
Collaboration diagram for exahype2.Project.Project:

Public Member Functions

 __init__ (self, namespace, project_name, executable, directory=".")
 
 set_load_balancing (self, load_balancer_name, load_balancer_arguments="")
 load_balancer_name: string Should be full-qualified name of the load balancer.
 
 set_log_filter_file (self, file_name)
 Set a log filter file name Pass in the empty string, if you want the code to use the hard-coded defaults.
 
 set_number_of_threads (self, value)
 Set number of threads to use Pass in number of threads (positive integer) or a string such as "tarch::multicore::Core::UseDefaultNumberOfThreads".
 
 set_multicore_orchestration (self, value)
 Set orchestration value has to be a string which creates an orchestration object, i.e., an object of the type tarch::multicore::orchestration::Orchestration.
 
 set_timeout (self, value)
 Set timeout value has to be a number greater or equal to zero, this then sets the timeout in seconds after which a node waiting for an MPI message shall quit an shutdown the whole application with an error report.
 
 set_gpus (self, value)
 Set GPUs to be used value is a list of integers or the empty list if you want the code to use all GPUs that are visible to a rank.
 
 set_Peano4_installation (self, src_path, mode=peano4.output.CompileMode.Release)
 src_path: string Path (relative or absolute) to the src directory of Peano.
 
 add_solver (self, solver)
 
 add_plot_filter (self, offset, size, frequency=1)
 Add a new filter to Peano/ExaHyPE.
 
 remove_all_solvers (self)
 
 set_global_simulation_parameters (self, dimensions, offset, size, min_end_time, first_plot_time_stamp, time_in_between_plots, periodic_BC=[False, False, False], plotter_precision=5, max_end_time=0.0)
 offset and size should be lists with dimensions double entries.
 
 set_output_path (self, path)
 
 add_mainfile_include (self, value)
 
 add_tracer (self, name, attribute_count=0, plot=True, sort_descend_invocation_order_within_action_sets=-1, plot_descend_invocation_order_within_action_sets=65536)
 Add a tracer to the project.
 
 add_action_set_to_timestepping (self, action_set)
 Add a new action set to the time stepping.
 
 add_action_set_to_plot_solution (self, action_set)
 Add a new action set to the plotting.
 
 add_action_set_to_initialisation (self, action_set)
 
 add_action_set_to_create_grid (self, action_set)
 Add an action set to create grid.
 
 generate_Peano4_project (self, verbose=False)
 Construct a Peano 4 project and return it.
 
 register_new_user_defined_algorithmic_step (self, step)
 Add all the use operations to new algorithmic step.
 

Data Fields

 create_grid
 
 init_grid
 
 create_grid_but_postpone_refinement
 
 create_grid_and_converge_lb
 
 plot_solution
 
 perform_time_step
 

Static Public Attributes

str LibraryDebug = "_debug"
 
str LibraryRelease = ""
 
str LibraryTrace = "_trace"
 
str LibraryAsserts = "_asserts"
 
str LibraryStats = "_stats"
 

Protected Attributes

 _project
 
 _solvers
 
 _domain_offset
 
 _domain_size
 
 _dimensions
 
 _min_terminal_time
 
 _max_terminal_time
 
 _first_plot_time_stamp
 
 _time_in_between_plots
 
 _load_balancer_name
 
 _load_balancer_arguments
 
 _log_filter_file
 
 _number_of_threads
 
 _multicore_orchestration
 
 _timeout
 
 _gpus
 
 _additional_includes
 
 _Peano_src_directory
 
 _build_mode
 
 _executable_name
 
 _periodic_BC
 
 _plot_filters
 
 _output_path
 
 _plotter_precision
 
 _tracer_particles
 
 _tracer_particle_sets
 

Private Member Functions

 __export_constants (self)
 We export ExaHyPE's constants.
 
 __configure_makefile (self)
 
 __generate_solver_repository (self)
 I have to call finishedTraversal() for each tracer set.
 

Detailed Description

ExaHyPE 2 project.

Represents an ExaHyPE2 project. An ExaHyPE2 project is a Peano4 project with a particular set of actions (algorithmic phases) that you can choose from and with particular solver types. It realises a builder mechanism, i.e. you build up your ExaHyPE2 project and then you finally tell the project "give me the Peano4 project". From hereon, you can use this Peano4 project to actually set up the Peano4 application.

The project will have a marker per cell that encodes stuff alike a boundary marker. But it is also used to coordinate different solver types.

See also
generate_Peano4_project()

Definition at line 18 of file Project.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.Project.Project.__init__ ( self,
namespace,
project_name,
executable,
directory = "." )

Definition at line 38 of file Project.py.

Member Function Documentation

◆ __configure_makefile()

exahype2.Project.Project.__configure_makefile ( self)
private

Definition at line 296 of file Project.py.

References Scenarios.Acoustic_planar_waves.Acoustic_planar_waves._dimensions, Scenarios.Advection_linear.Advection_linear._dimensions, Scenarios.Elastic_planar_waves.Elastic_planar_waves._dimensions, Scenarios.Euler_gaussian_bell.Euler_gaussian_bell._dimensions, Scenarios.Euler_isotropic_vortex.Euler_isotropic_vortex._dimensions, Scenarios.Scenario.Scenario._dimensions, Scenarios.SWE_radial_dam_break.SWE_radial_dam_break._dimensions, Scenarios.SWE_resting_lake.SWE_resting_lake._dimensions, exahype2.Project.Project._dimensions, petsc.Project.Project._dimensions, peano4.visualisation.output.Interactive.Interactive._dimensions, peano4.visualisation.output.PatchFile.PatchFile._dimensions, peano4.visualisation.output.Visualiser.Visualiser._dimensions, peano4.visualisation.output.VTU.VTU._dimensions, swift2.Project.Project._dimensions, convert::input::PeanoTextPatchFileReader._dimensions, tarch::plotter::griddata::blockstructured::PeanoHDF5PatchFileWriter._dimensions, tarch::plotter::griddata::blockstructured::PeanoTextPatchFileWriter._dimensions, exahype2.Project.Project._executable_name, petsc.Project.Project._executable_name, swift2.Project.Project._executable_name, exahype2.Project.Project._project, petsc.Project.Project._project, peano4.solversteps.Steps.Steps._project, and swift2.Project.Project._project.

Referenced by exahype2.Project.Project.generate_Peano4_project(), petsc.Project.Project.generate_Peano4_project(), and swift2.Project.Project.generate_Peano4_project().

Here is the caller graph for this function:

◆ __export_constants()

exahype2.Project.Project.__export_constants ( self)
private

We export ExaHyPE's constants.

Besides the constants from ExaHyPE, I also export some parameters from Peano onto the ExaHyPE constants file. Therefore, it is important that you parse the configure output before we export the constants.

Definition at line 205 of file Project.py.

References Scenarios.Acoustic_planar_waves.Acoustic_planar_waves._dimensions, Scenarios.Advection_linear.Advection_linear._dimensions, Scenarios.Elastic_planar_waves.Elastic_planar_waves._dimensions, Scenarios.Euler_gaussian_bell.Euler_gaussian_bell._dimensions, Scenarios.Euler_isotropic_vortex.Euler_isotropic_vortex._dimensions, Scenarios.Scenario.Scenario._dimensions, Scenarios.SWE_radial_dam_break.SWE_radial_dam_break._dimensions, Scenarios.SWE_resting_lake.SWE_resting_lake._dimensions, exahype2.Project.Project._dimensions, petsc.Project.Project._dimensions, peano4.visualisation.output.Interactive.Interactive._dimensions, peano4.visualisation.output.PatchFile.PatchFile._dimensions, peano4.visualisation.output.Visualiser.Visualiser._dimensions, peano4.visualisation.output.VTU.VTU._dimensions, swift2.Project.Project._dimensions, convert::input::PeanoTextPatchFileReader._dimensions, tarch::plotter::griddata::blockstructured::PeanoHDF5PatchFileWriter._dimensions, tarch::plotter::griddata::blockstructured::PeanoTextPatchFileWriter._dimensions, exahype2.Project.Project._domain_offset, petsc.Project.Project._domain_offset, swift2.Project.Project._domain_offset, Scenarios.Acoustic_planar_waves.Acoustic_planar_waves._domain_size, Scenarios.Elastic_planar_waves.Elastic_planar_waves._domain_size, Scenarios.Euler_gaussian_bell.Euler_gaussian_bell._domain_size, Scenarios.Euler_isotropic_vortex.Euler_isotropic_vortex._domain_size, Scenarios.Scenario.Scenario._domain_size, Scenarios.SWE_radial_dam_break.SWE_radial_dam_break._domain_size, Scenarios.SWE_resting_lake.SWE_resting_lake._domain_size, exahype2.Project.Project._domain_size, petsc.Project.Project._domain_size, swift2.Project.Project._domain_size, exahype2.Project.Project._first_plot_time_stamp, swift2.Project.Project._first_plot_time_stamp, exahype2.Project.Project._max_terminal_time, swift2.Project.Project._max_terminal_time, exahype2.Project.Project._min_terminal_time, swift2.Project.Project._min_terminal_time, exahype2.Project.Project._periodic_BC, swift2.Project.Project._periodic_BC, exahype2.Project.Project._plotter_precision, petsc.Project.Project._plotter_precision, swift2.Project.Project._plotter_precision, exahype2.Project.Project._project, petsc.Project.Project._project, peano4.solversteps.Steps.Steps._project, swift2.Project.Project._project, exahype2.Project.Project._solvers, petsc.Project.Project._solvers, exahype2.Project.Project._time_in_between_plots, and swift2.Project.Project._time_in_between_plots.

Referenced by petsc.Project.Project.__configure_makefile(), exahype2.Project.Project.generate_Peano4_project(), and swift2.Project.Project.generate_Peano4_project().

Here is the caller graph for this function:

◆ __generate_solver_repository()

◆ add_action_set_to_create_grid()

exahype2.Project.Project.add_action_set_to_create_grid ( self,
action_set )

Add an action set to create grid.

This routine actually adds an action set to each and every grid creation routine. After all, we distinguish three flavours of it

  • with refinement;
  • without refinement as we've just refined or split up domain;
  • without refinement to let load balancing converge.

Definition at line 631 of file Project.py.

References exahype2.Project.Project.create_grid, exahype2.Project.Project.create_grid_and_converge_lb, and exahype2.Project.Project.create_grid_but_postpone_refinement.

◆ add_action_set_to_initialisation()

exahype2.Project.Project.add_action_set_to_initialisation ( self,
action_set )

Definition at line 628 of file Project.py.

References exahype2.Project.Project.init_grid.

◆ add_action_set_to_plot_solution()

exahype2.Project.Project.add_action_set_to_plot_solution ( self,
action_set )

Add a new action set to the plotting.

Definition at line 620 of file Project.py.

References exahype2.Project.Project.plot_solution.

◆ add_action_set_to_timestepping()

exahype2.Project.Project.add_action_set_to_timestepping ( self,
action_set )

Add a new action set to the time stepping.

You have to be careful with the priorities, i.e. you might want to use myproject.perform_time_step.max_priority() or myproject.perform_time_step.min_priority() to find out which priority you should assign to action_set.

Definition at line 607 of file Project.py.

References exahype2.Project.Project.perform_time_step.

◆ add_mainfile_include()

exahype2.Project.Project.add_mainfile_include ( self,
value )

◆ add_plot_filter()

exahype2.Project.Project.add_plot_filter ( self,
offset,
size,
frequency = 1 )

Add a new filter to Peano/ExaHyPE.

offset: (float,float,float)

size: (float,float,float)

frequency: int A positive value. Peano makes snapshots every dt simulation units. This is something you specify once per simulation. But you might decide only to splot every k of these snapshots.

Definition at line 172 of file Project.py.

References exahype2.Project.Project._plot_filters.

◆ add_solver()

exahype2.Project.Project.add_solver ( self,
solver )

◆ add_tracer()

exahype2.Project.Project.add_tracer ( self,
name,
attribute_count = 0,
plot = True,
sort_descend_invocation_order_within_action_sets = -1,
plot_descend_invocation_order_within_action_sets = 65536 )

Add a tracer to the project.

Tracers have to be the very last thing you add to your project. At this point, all solvers have to be added to the project. However, you have to add the tracers prior to any user-defined routines. See docu of register_new_user_defined_algorithmic_step().

We rely on the particle toolbox. Therefore, our particles have already a position x, a search radius (which we don't usually use here), and a (parallel) state. The search radius determines how Peano sorts particles within the tree, and we can set it to zero here. This ensures that the particle has no real volume and thus is always sieved through to the finest grid level.

See also
peano4.toolbox.particles.Particle

Projection of data onto particles and database dumping

The projection onto the particle has to be realised separatedly, as it depends on the solver variant chosen. The same holds for the dump of particle data into a database if this shall happen on-the-fly.

Most bigger applications add their solvers an add_tracer() operation, which takes all of this domain knowledge into account. This add_tracer() then forwards to this routine, adding further behaviour.

See the class application.exahype2.ccz.CCZ4Solver and its derived variants for examples.

Moving particles

Tracers in ExaHyPE can move, though they do not have to move. Even if they move, they never have a native velocity, i.e. their velocity will always be a projection of an ExaHyPE solution. We are talking about tracers after all and not about a proper PIC approach. Due to this constraint, we do not need a velocity vector. However, we need an additional enumeration which clarifies if a particle has moved already or not. This enumeration is needed by the particle update routines. Obviously, nothing stops you from adding a separate velocity field to the tracer object and thus to redefine this behaviour.

ExaHyPE-specific particle attributes

We add each particle a number which is a tuple consisting of the tree number (on which tree has a particle been generationed plus what was the tree-local number of this particle at the time). Through this tuple, we can track tracers later on even if they move accross domains.

We can plot the data - if there is data to be tracked - directly, as it is a large double array. For the index, we have to type cast the data, as this is a tuple of integers, and Peano's VTK plotter supports only double vectors.

See also
peano4.toolbox.particles.PlotParticlesInVTKFormat.add_attribute_to_plot()

Action set order

We add the particle ordering with descend order -1. This should do the job for most setups, but we might be wrong. The following action sets are automatically added:

Both action sets are assigned the standard priority of sort_descend_invocation_order_within_action_sets.

Arguments

name: String Has to be a unique name for this tracer

attribute_count: integer Number of attributes that we track per particle (scalar values added pre particle). Can be 0 if you don't want any attributes.

h and noise: See tracer.InsertParticles

plot: Boolean If this flag is set, ExaHyPE dumps the particles as vtu files whenever it writes patch files. You can switch this behaviour off. A lot of codes do so if they dump the tracer data independently into another database anyway.

sort_descend_invocation_order_within_action_sets: Integer You have to clarify what the priority of the tracer is within the action sets. By default, all ExaHyPE solvers start with priority 0 and then up to n. So you are fine with using the default of -1 which means that the tracer precedes any solver. However, there might be cases where you wanna move the priorities manually.

Returns the particle set that you can use to modify further

Definition at line 406 of file Project.py.

References exahype2.Project.Project._project, petsc.Project.Project._project, peano4.solversteps.Steps.Steps._project, swift2.Project.Project._project, exahype2.Project.Project._tracer_particle_sets, exahype2.Project.Project._tracer_particles, exahype2.Project.Project.create_grid, exahype2.Project.Project.create_grid_and_converge_lb, exahype2.Project.Project.create_grid_but_postpone_refinement, exahype2.Project.Project.init_grid, exahype2.Project.Project.perform_time_step, and exahype2.Project.Project.plot_solution.

◆ generate_Peano4_project()

exahype2.Project.Project.generate_Peano4_project ( self,
verbose = False )

Construct a Peano 4 project and return it.

Build the Peano4 project, i.e., all the action sets et al that you require to run this ExaHyPE2 application. The project is built within self._project and eventually returned.

This routine generates a Peano project, i.e. the domain-specific ExaHyPE view is translated into a Peano model. Once you have called this routine, any changes to the ExaHyPE 2 configuration do not propagate into the Peano setup anymore. If you alter the ExaHyPE setup, you have to call generate_Peano4_project() again to get a new snapshot/version of the Peano setup.

Definition at line 648 of file Project.py.

References exahype2.Project.Project.__configure_makefile(), petsc.Project.Project.__configure_makefile(), swift2.Project.Project.__configure_makefile(), exahype2.Project.Project.__export_constants(), petsc.Project.Project.__export_constants(), swift2.Project.Project.__export_constants(), exahype2.Project.Project.__generate_solver_repository(), petsc.Project.Project.__generate_solver_repository(), exahype2.Project.Project._build_mode, petsc.Project.Project._build_mode, swift2.Project.Project._build_mode, Scenarios.Acoustic_planar_waves.Acoustic_planar_waves._dimensions, Scenarios.Advection_linear.Advection_linear._dimensions, Scenarios.Elastic_planar_waves.Elastic_planar_waves._dimensions, Scenarios.Euler_gaussian_bell.Euler_gaussian_bell._dimensions, Scenarios.Euler_isotropic_vortex.Euler_isotropic_vortex._dimensions, Scenarios.Scenario.Scenario._dimensions, Scenarios.SWE_radial_dam_break.SWE_radial_dam_break._dimensions, Scenarios.SWE_resting_lake.SWE_resting_lake._dimensions, exahype2.Project.Project._dimensions, petsc.Project.Project._dimensions, peano4.visualisation.output.Interactive.Interactive._dimensions, peano4.visualisation.output.PatchFile.PatchFile._dimensions, peano4.visualisation.output.Visualiser.Visualiser._dimensions, peano4.visualisation.output.VTU.VTU._dimensions, swift2.Project.Project._dimensions, convert::input::PeanoTextPatchFileReader._dimensions, tarch::plotter::griddata::blockstructured::PeanoHDF5PatchFileWriter._dimensions, tarch::plotter::griddata::blockstructured::PeanoTextPatchFileWriter._dimensions, exahype2.Project.Project._output_path, petsc.Project.Project._output_path, swift2.Project.Project._output_path, exahype2.Project.Project._Peano_src_directory, petsc.Project.Project._Peano_src_directory, swift2.Project.Project._Peano_src_directory, exahype2.Project.Project._project, petsc.Project.Project._project, peano4.solversteps.Steps.Steps._project, swift2.Project.Project._project, exahype2.Project.Project._solvers, petsc.Project.Project._solvers, exahype2.Project.Project.create_grid, exahype2.Project.Project.create_grid_and_converge_lb, exahype2.Project.Project.create_grid_but_postpone_refinement, exahype2.Project.Project.init_grid, exahype2.Project.Project.perform_time_step, and exahype2.Project.Project.plot_solution.

Here is the call graph for this function:

◆ register_new_user_defined_algorithmic_step()

exahype2.Project.Project.register_new_user_defined_algorithmic_step ( self,
step )

Add all the use operations to new algorithmic step.

Use this routine whenever you have created your own algorithmic step. Please note that the routine should be called after you have created all of your solvers. Otherwise, we'll miss out a few of your solvers and the data access patterns will/might be corrupted. Also all tracers have to be added at this point already.

The routine has no side-effects, i.e. does not alter the underlying project. It only manipulates the step. Therefore, you can even call it after you have distilled the Peano project from the ExaHyPE project, i.e. after you have called exahype2.Project.generate_Peano4_project().

Parameters
steppeano4.solversteps.Step

Definition at line 751 of file Project.py.

References exahype2.Project.Project._solvers, petsc.Project.Project._solvers, and exahype2.Project.Project._tracer_particle_sets.

◆ remove_all_solvers()

◆ set_global_simulation_parameters()

exahype2.Project.Project.set_global_simulation_parameters ( self,
dimensions,
offset,
size,
min_end_time,
first_plot_time_stamp,
time_in_between_plots,
periodic_BC = [False, False, False],
plotter_precision = 5,
max_end_time = 0.0 )

offset and size should be lists with dimensions double entries.

first_plot_time_stamp: Float Is irrelevant if time_in_between_plots equals zero

time_in_between_plots: Float Set to zero if you don't want to have any plots

max_end_time: Float If you set it zero (or actually any value msmaller than min_end_time), then the code will run until the cell that lags behind the most hits the min time. If you specify a valid max time however, you can stop the sim as soon as the most advanced cell exceeds this threshold.

Definition at line 300 of file Project.py.

References Scenarios.Acoustic_planar_waves.Acoustic_planar_waves._dimensions, Scenarios.Advection_linear.Advection_linear._dimensions, Scenarios.Elastic_planar_waves.Elastic_planar_waves._dimensions, Scenarios.Euler_gaussian_bell.Euler_gaussian_bell._dimensions, Scenarios.Euler_isotropic_vortex.Euler_isotropic_vortex._dimensions, Scenarios.Scenario.Scenario._dimensions, Scenarios.SWE_radial_dam_break.SWE_radial_dam_break._dimensions, Scenarios.SWE_resting_lake.SWE_resting_lake._dimensions, exahype2.Project.Project._dimensions, petsc.Project.Project._dimensions, peano4.visualisation.output.Interactive.Interactive._dimensions, peano4.visualisation.output.PatchFile.PatchFile._dimensions, peano4.visualisation.output.Visualiser.Visualiser._dimensions, peano4.visualisation.output.VTU.VTU._dimensions, swift2.Project.Project._dimensions, convert::input::PeanoTextPatchFileReader._dimensions, tarch::plotter::griddata::blockstructured::PeanoHDF5PatchFileWriter._dimensions, tarch::plotter::griddata::blockstructured::PeanoTextPatchFileWriter._dimensions, exahype2.Project.Project._domain_offset, petsc.Project.Project._domain_offset, swift2.Project.Project._domain_offset, Scenarios.Acoustic_planar_waves.Acoustic_planar_waves._domain_size, Scenarios.Elastic_planar_waves.Elastic_planar_waves._domain_size, Scenarios.Euler_gaussian_bell.Euler_gaussian_bell._domain_size, Scenarios.Euler_isotropic_vortex.Euler_isotropic_vortex._domain_size, Scenarios.Scenario.Scenario._domain_size, Scenarios.SWE_radial_dam_break.SWE_radial_dam_break._domain_size, Scenarios.SWE_resting_lake.SWE_resting_lake._domain_size, exahype2.Project.Project._domain_size, petsc.Project.Project._domain_size, swift2.Project.Project._domain_size, exahype2.Project.Project._first_plot_time_stamp, swift2.Project.Project._first_plot_time_stamp, exahype2.Project.Project._max_terminal_time, swift2.Project.Project._max_terminal_time, exahype2.Project.Project._min_terminal_time, swift2.Project.Project._min_terminal_time, exahype2.Project.Project._periodic_BC, swift2.Project.Project._periodic_BC, exahype2.Project.Project._plotter_precision, petsc.Project.Project._plotter_precision, swift2.Project.Project._plotter_precision, exahype2.Project.Project._time_in_between_plots, and swift2.Project.Project._time_in_between_plots.

◆ set_gpus()

exahype2.Project.Project.set_gpus ( self,
value )

Set GPUs to be used value is a list of integers or the empty list if you want the code to use all GPUs that are visible to a rank.

Definition at line 140 of file Project.py.

References exahype2.Project.Project._gpus.

◆ set_load_balancing()

exahype2.Project.Project.set_load_balancing ( self,
load_balancer_name,
load_balancer_arguments = "" )

load_balancer_name: string Should be full-qualified name of the load balancer.

By default, I recommend to pass "toolbox::loadbalancing::strategies::RecursiveSubdivision".

load_balancer_arguments: string If your load balancing requires parameters, add them here. It is a string that will be copied into the C++ class instantiation. Please add the brackets yourself, i.e. "(3,4,5)" is fine, but "3,4,5" is not. The only exception is the empty parameter list. Here, you can/should simply add the empty string.

Definition at line 83 of file Project.py.

References exahype2.Project.Project._load_balancer_arguments, petsc.Project.Project._load_balancer_arguments, swift2.Project.Project._load_balancer_arguments, exahype2.Project.Project._load_balancer_name, petsc.Project.Project._load_balancer_name, and swift2.Project.Project._load_balancer_name.

◆ set_log_filter_file()

exahype2.Project.Project.set_log_filter_file ( self,
file_name )

Set a log filter file name Pass in the empty string, if you want the code to use the hard-coded defaults.

Definition at line 100 of file Project.py.

References exahype2.Project.Project._log_filter_file.

◆ set_multicore_orchestration()

exahype2.Project.Project.set_multicore_orchestration ( self,
value )

Set orchestration value has to be a string which creates an orchestration object, i.e., an object of the type tarch::multicore::orchestration::Orchestration.

You can either create it directly (in this case you need to add a new), or you can use a factory method such as "tarch::multicore::orchestration::StrategyFactory::createDefaultStrategy()".

Definition at line 116 of file Project.py.

References exahype2.Project.Project._multicore_orchestration.

◆ set_number_of_threads()

exahype2.Project.Project.set_number_of_threads ( self,
value )

Set number of threads to use Pass in number of threads (positive integer) or a string such as "tarch::multicore::Core::UseDefaultNumberOfThreads".

Definition at line 108 of file Project.py.

References exahype2.Project.Project._number_of_threads.

◆ set_output_path()

exahype2.Project.Project.set_output_path ( self,
path )

◆ set_Peano4_installation()

exahype2.Project.Project.set_Peano4_installation ( self,
src_path,
mode = peano4.output.CompileMode.Release )

src_path: string Path (relative or absolute) to the src directory of Peano.

This path should hold both the headers (in subdirectories) and all the static libraries.

mode: peano4.output.CompileMode

Definition at line 157 of file Project.py.

References exahype2.Project.Project._build_mode, petsc.Project.Project._build_mode, swift2.Project.Project._build_mode, exahype2.Project.Project._Peano_src_directory, petsc.Project.Project._Peano_src_directory, and swift2.Project.Project._Peano_src_directory.

◆ set_timeout()

exahype2.Project.Project.set_timeout ( self,
value )

Set timeout value has to be a number greater or equal to zero, this then sets the timeout in seconds after which a node waiting for an MPI message shall quit an shutdown the whole application with an error report.

If zero is passed, this feature is switched off and nodes will wait indefinitely.

Definition at line 127 of file Project.py.

References exahype2.Project.Project._timeout.

Field Documentation

◆ _additional_includes

◆ _build_mode

◆ _dimensions

◆ _domain_offset

◆ _domain_size

◆ _executable_name

exahype2.Project.Project._executable_name
protected

◆ _first_plot_time_stamp

◆ _gpus

exahype2.Project.Project._gpus
protected

◆ _load_balancer_arguments

◆ _load_balancer_name

◆ _log_filter_file

exahype2.Project.Project._log_filter_file
protected

◆ _max_terminal_time

◆ _min_terminal_time

◆ _multicore_orchestration

exahype2.Project.Project._multicore_orchestration
protected

◆ _number_of_threads

exahype2.Project.Project._number_of_threads
protected

◆ _output_path

◆ _Peano_src_directory

◆ _periodic_BC

◆ _plot_filters

exahype2.Project.Project._plot_filters
protected

◆ _plotter_precision

◆ _project

◆ _solvers

◆ _time_in_between_plots

◆ _timeout

exahype2.Project.Project._timeout
protected

◆ _tracer_particle_sets

exahype2.Project.Project._tracer_particle_sets
protected

◆ _tracer_particles

exahype2.Project.Project._tracer_particles
protected

◆ create_grid

◆ create_grid_and_converge_lb

exahype2.Project.Project.create_grid_and_converge_lb

◆ create_grid_but_postpone_refinement

exahype2.Project.Project.create_grid_but_postpone_refinement

◆ init_grid

◆ LibraryAsserts

str exahype2.Project.Project.LibraryAsserts = "_asserts"
static

Definition at line 154 of file Project.py.

◆ LibraryDebug

str exahype2.Project.Project.LibraryDebug = "_debug"
static

Definition at line 151 of file Project.py.

◆ LibraryRelease

str exahype2.Project.Project.LibraryRelease = ""
static

Definition at line 152 of file Project.py.

◆ LibraryStats

str exahype2.Project.Project.LibraryStats = "_stats"
static

Definition at line 155 of file Project.py.

◆ LibraryTrace

str exahype2.Project.Project.LibraryTrace = "_trace"
static

Definition at line 153 of file Project.py.

◆ perform_time_step

◆ plot_solution


The documentation for this class was generated from the following file: