SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Triggers::OrbitRadius Class Reference

This trigger returns true when the scalar charge is about to cross one of the specified areal radii. More...

#include <OrbitRadius.hpp>

Classes

struct  Radii
 

Public Types

using options = implementation defined
 
using argument_tags = implementation defined
 

Public Member Functions

 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
 
- Public Member Functions inherited from Trigger
 WRAPPED_PUPable_abstract (Trigger)
 
template<typename DbTags >
bool is_triggered (const db::DataBox< DbTags > &box) const
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

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.

Member Data Documentation

◆ help

constexpr Options::String Triggers::OrbitRadius::help
staticconstexpr
Initial value:
=
"Trigger that fires when the scalar charge crosses specified radii."

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