This trigger returns true when the scalar charge is about to cross one of the specified areal radii.
More...
#include <OrbitRadius.hpp>
|
|
| OrbitRadius (const std::vector< double > &radii) |
|
bool | operator() (const std::array< tnsr::I< double, 3 >, 2 > &position_and_velocity, const TimeDelta &time_step) const |
|
void | pup (PUP::er &p) override |
|
| WRAPPED_PUPable_abstract (Trigger) |
|
template<typename DbTags> |
| bool | is_triggered (const db::DataBox< DbTags > &box) const |
This trigger returns true when the scalar charge is about to cross one of the specified areal radii.
Details
As the domain is adjusted to track the position of the scalar charge, the time step needs to be dynamically adjusted accordingly. This trigger can be used to set the time step according to the radial position of the scalar charge which gives a good approximation of when the time step should be adjusted. The trigger only approximates whether the particle might cross during the next time step and may therefore fire twice.
◆ argument_tags
| using Triggers::OrbitRadius::argument_tags |
Initial value:
tmpl::list<CurvedScalarWave::Worldtube::Tags::ParticlePositionVelocity<3>,
◆ help
Initial value: =
"Trigger that fires when the scalar charge crosses specified radii."
The documentation for this class was generated from the following file:
- src/Evolution/Systems/CurvedScalarWave/Worldtube/Triggers/OrbitRadius.hpp