|
Peano
|
Extension of the explicit Euler to support dynamic search radius adoption. More...


Public Member Functions | |
| __init__ (self, name, cfl_factor, initial_time_step_size, particle_particle_interaction_over_particle_sets_kernel="", touch_particles_of_set_first_time_kernel="", touch_particles_of_set_last_time_kernel="", number_of_interaction_partners=64, particles_per_cell=0, min_h=0.005, max_h=0.3) | |
| Initialise the particle. | |
| algorithm_steps (self) | |
| The explicit Euler basically consists of two steps per particle. | |
| initialisation_steps (self) | |
| No particular initialisation required. | |
Public Member Functions inherited from swift2.particle.Particle.Particle | |
| readme_descriptor (self) | |
| Create default readme descriptor. | |
Public Member Functions inherited from peano4.datamodel.DaStGen2.DaStGen2 | |
| configure (self, namespace, association, subdirectory="") | |
| Configure output. | |
| additional_load_and_store_arguments (self) | |
| additional_load_and_store_arguments (self, new_arguments) | |
| hosts_smart_pointer_attribute (self) | |
| Does class host a smart pointer attribute. | |
Public Member Functions inherited from peano4.datamodel.DoF.DoF | |
| get_full_qualified_type (self) | |
| get_logical_type_name (self) | |
| What should the data type be called within the data repository, or within action sets. | |
| get_enumeration_type (self) | |
| What should the data type be called within the data repository. | |
| additional_load_and_store_arguments_for_other_dof (self, argument_name, use_dof_association=None) | |
| You can make Peano's store and load arguments of any DoF depend on other DoFs that you have loaded before. | |
| subnamespace (self) | |
Data Fields | |
| velocity | |
| accelerator | |
| cfl_factor | |
| initial_time_step_size | |
| particle_particle_interaction_over_particle_sets_kernel | |
| touch_particles_of_set_first_time_kernel | |
| touch_particles_of_set_last_time_kernel | |
| number_of_interaction_partners | |
Data Fields inherited from swift2.particle.Particle.Particle | |
| particles_per_cell | |
| min_h | |
| max_h | |
| name | |
Data Fields inherited from peano4.toolbox.particles.Particle.Particle | |
| name | |
| partid | |
Data Fields inherited from peano4.datamodel.DaStGen2.DaStGen2 | |
| generator | |
| data | |
| peano4_mpi_and_storage_aspect | |
Data Fields inherited from peano4.datamodel.DoF.DoF | |
| association | |
| name | |
| namespace | |
| subdirectory | |
Additional Inherited Members | |
Static Public Attributes inherited from swift2.particle.Particle.Particle | |
| str | DependencyChecks_Attribute_Prefix = "dependencyChecks" |
| list | DependencyChecks_Ifdefs = ["PeanoDebug > 0"] |
Static Public Attributes inherited from peano4.datamodel.DaStGen2.DaStGen2 | |
| str | readme_package_descriptor |
Protected Member Functions inherited from swift2.particle.Particle.Particle | |
| _dependency_checks_modify_steps (self, steplist, step_type_name, peano4_event_enum) | |
| Add dependency checks as well as mesh consistency checks to the algorithm steps. | |
| _add_dependency_checks (self) | |
| Add dependency (particle consistency) checks. | |
Protected Attributes inherited from swift2.particle.Particle.Particle | |
| _algorithm_steps | |
| _initialisation_steps | |
Protected Attributes inherited from peano4.datamodel.DaStGen2.DaStGen2 | |
| _additional_load_and_store_arguments | |
Protected Attributes inherited from peano4.datamodel.DoF.DoF | |
| _additional_load_and_store_arguments | |
Extension of the explicit Euler to support dynamic search radius adoption.
| name | String To be in line with other conventions, I recommend you start with an uppercase letter. This has to be a valid C++ identifier, i.e. don't use any special symbols besides an underscore. |
Definition at line 11 of file ExplicitEulerDynamicSearchRadius.py.
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.__init__ | ( | self, | |
| name, | |||
| particles_per_cell, | |||
| min_h, | |||
| max_h = "", | |||
| touch_particles_of_set_first_time_kernel = "", | |||
| touch_particles_of_set_last_time_kernel = "", | |||
| number_of_interaction_partners = 64, | |||
| particles_per_cell = 0, | |||
| min_h = 0.005, | |||
| max_h = 0.3 ) |
Initialise the particle.
This is the baseclass for a particle, i.e. we only add the absolute minimum of information to a particle. As we inherit from the toolbox particle, we already have some attributes defined. These are the guys which are not explicitly visible from the code snippet below, i.e. they are introduced by the superclass constructor.
Here's an overview of pre-defined attributes that each and every particle hosts:
Reimplemented from swift2.particle.Particle.Particle.
Definition at line 28 of file ExplicitEulerDynamicSearchRadius.py.
References swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.__init__().
Referenced by swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.__init__().


| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps | ( | self | ) |
The explicit Euler basically consists of two steps per particle.
We first determine the force. For this, we need access to the neighbours. The step solely alters the individual particle's state. In the next algorithm step, we need this state, as well as global data (the admissible time step size) to update position and velocity. We also determine the CFL condition here.
Reimplemented from swift2.particle.Particle.Particle.
Definition at line 69 of file ExplicitEulerDynamicSearchRadius.py.
References swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.cfl_factor, swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.cfl_factor, swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.cfl_factor, swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.cfl_factor, swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.initial_time_step_size, swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.initial_time_step_size, swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.initial_time_step_size, swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.initial_time_step_size, dastgen2.attributes.Attribute.Attribute.name(), dastgen2.DataModel.DataModel.name(), exahype2.solvers.aderdg.kernels.Gemms.Gemms.name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), exahype2.solvers.fv.FV.FV.name(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.name(), peano4.datamodel.DoF.DoF.name, peano4.solversteps.Step.Step.name, peano4.solversteps.UserActionSet.UserActionSet.name, peano4.toolbox.particles.Particle.Particle.name, swift2.particle.AlgorithmStep.AlgorithmStep.name, swift2.particle.Particle.Particle.name, swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.name, swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.name, convert::data::Variable.name, solvers.api.Solver.Solver.name(), api.solvers.Solver.Solver.name(), swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.number_of_interaction_partners, swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.touch_particles_of_set_first_time_kernel, swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.touch_particles_of_set_first_time_kernel, swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.touch_particles_of_set_first_time_kernel(), swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.touch_particles_of_set_first_time_kernel(), swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.touch_particles_of_set_first_time_kernel, swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.touch_particles_of_set_first_time_kernel(), swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.touch_particles_of_set_first_time_kernel(), swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.touch_particles_of_set_first_time_kernel, swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.touch_particles_of_set_first_time_kernel, swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.touch_particles_of_set_last_time_kernel, swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.touch_particles_of_set_last_time_kernel, swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.touch_particles_of_set_last_time_kernel(), swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.touch_particles_of_set_last_time_kernel, swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.touch_particles_of_set_last_time_kernel(), swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.touch_particles_of_set_last_time_kernel(), swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.touch_particles_of_set_last_time_kernel(), swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.touch_particles_of_set_last_time_kernel, and swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.touch_particles_of_set_last_time_kernel.
Referenced by swift2.particle.Particle.Particle._add_dependency_checks().


| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.initialisation_steps | ( | self | ) |
No particular initialisation required.
Reimplemented from swift2.particle.Particle.Particle.
Definition at line 158 of file ExplicitEulerDynamicSearchRadius.py.
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.accelerator |
Definition at line 49 of file ExplicitEulerDynamicSearchRadius.py.
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.cfl_factor |
Definition at line 53 of file ExplicitEulerDynamicSearchRadius.py.
Referenced by swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.__setup_algorithm_steps(), swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius._setup_algorithm_steps_dict(), swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps(), swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.readme_descriptor(), and swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.readme_descriptor().
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.initial_time_step_size |
Definition at line 54 of file ExplicitEulerDynamicSearchRadius.py.
Referenced by swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.__setup_algorithm_steps(), swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius._setup_algorithm_steps_dict(), swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps(), swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.readme_descriptor(), and swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.readme_descriptor().
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.number_of_interaction_partners |
Definition at line 65 of file ExplicitEulerDynamicSearchRadius.py.
Referenced by swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps().
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.particle_particle_interaction_over_particle_sets_kernel |
Definition at line 56 of file ExplicitEulerDynamicSearchRadius.py.
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.touch_particles_of_set_first_time_kernel |
Definition at line 59 of file ExplicitEulerDynamicSearchRadius.py.
Referenced by swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps(), swift2.particle.tests.DisappearingParticleTest.DisappearingParticleTest.algorithm_steps(), and swift2.particle.tests.testLeapfrogFixedTimeStepSize.testLeapfrogFixedTimeStepSize.algorithm_steps().
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.touch_particles_of_set_last_time_kernel |
Definition at line 62 of file ExplicitEulerDynamicSearchRadius.py.
Referenced by swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps().
| swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.velocity |
Definition at line 48 of file ExplicitEulerDynamicSearchRadius.py.