|
WarpX
|
This class performs the decay of species 1 into species A and B via a user-specified rate. dnA/dt = +nu(t)*n1(t)= dnB/dt dn1/dt = -nu(t)*n1(t) ==> nA(t+dt) - nA(t) = n1(t)*(1 - exp(-nu(t)*t)) For example, this can represent ionization of species 1 from a laser pulse. The user-specified decay rate nu is a function of space and time. The velocity of the product particles is set to a random parent species particle plus a direction-dependent thermal part obtained from a user-specified normal distribution. More...
#include <PulsedDecay.H>
Public Member Functions | |
| PulsedDecay (std::string const &collision_name, MultiParticleContainer const *mypc) | |
| ~PulsedDecay () override=default | |
| PulsedDecay (PulsedDecay const &)=delete | |
| PulsedDecay & | operator= (PulsedDecay const &)=delete |
| PulsedDecay (PulsedDecay &&)=delete | |
| PulsedDecay & | operator= (PulsedDecay &&)=delete |
| void | doCollisions (amrex::Real cur_time, amrex::Real dt, MultiParticleContainer *mypc) override |
Public Member Functions inherited from CollisionBase | |
| CollisionBase (const std::string &collision_name) | |
| CollisionBase (CollisionBase const &)=delete | |
| CollisionBase (CollisionBase &&)=delete | |
| CollisionBase & | operator= (CollisionBase const &)=delete |
| CollisionBase & | operator= (CollisionBase const &&)=delete |
| virtual | ~CollisionBase ()=default |
| void | BackwardCompatibility () |
| int | get_ndt () const |
| CollisionSteppingMode | get_collision_stepping_mode () const |
| bool | use_global_debye_length () const |
Additional Inherited Members | |
Protected Attributes inherited from CollisionBase | |
| std::string | m_collision_name |
| amrex::Vector< std::string > | m_species_names |
| int | m_ndt = 1 |
| CollisionSteppingMode | m_collision_stepping_mode = CollisionSteppingMode::Supercycle |
| bool | m_use_global_debye_length = false |
This class performs the decay of species 1 into species A and B via a user-specified rate. dnA/dt = +nu(t)*n1(t)= dnB/dt dn1/dt = -nu(t)*n1(t) ==> nA(t+dt) - nA(t) = n1(t)*(1 - exp(-nu(t)*t)) For example, this can represent ionization of species 1 from a laser pulse. The user-specified decay rate nu is a function of space and time. The velocity of the product particles is set to a random parent species particle plus a direction-dependent thermal part obtained from a user-specified normal distribution.
| PulsedDecay::PulsedDecay | ( | std::string const & | collision_name, |
| MultiParticleContainer const * | mypc ) |
|
overridedefault |
|
delete |
|
delete |
|
overridevirtual |
Perform the collisions
| cur_time | Current time |
| dt | Time step size |
| mypc | Container of species involved |
Reimplemented from CollisionBase.
|
delete |
|
delete |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |