|
criptic v1
Cosmic Ray Interstellar Propagation Tool using Itô Calculus
|
Interface to describe the CR propagation model. More...
#include <Propagation.H>
Public Member Functions | |
| Propagation (const ParmParser &pp) | |
| Constructor. | |
| virtual | ~Propagation () |
| Empty virtual destructor. | |
| virtual FieldQtyNeedType | fieldQtyNeed () const =0 |
| Access to field quantities needed? | |
| virtual PropagationData | operator() (const RealVec &x, const Real t, const gas::GasData &gd, const CRPacket &packet, const FieldQty &qty, const FieldQtyGrad &qtyGrad) const =0 |
| Return the propagation data. | |
| void | applyLimits (const gas::GasData &gd, const CRPacket &packet, PropagationData &pd) const |
| Apply the Bohm limit and manually-set limits. | |
Private Attributes | |
| int | enforceBohmLimit |
| Real | kParMax |
| Real | kPerpMax |
| Real | kPPMax |
| Real | vDriftMax |
Interface to describe the CR propagation model.
This is a virtual base class that defines and interface through which the user describes the CR propagation model to criptic. Users can describe arbitrary propagation models by deriving a specialized class from this interface.
|
inline |
Constructor.
| pp | criptic::ParmParser containing the input deck |
|
inlinevirtual |
Empty virtual destructor.
|
inline |
Apply the Bohm limit and manually-set limits.
| gd | Data on background gas state |
| packet | Packet data |
| pd | Propagation data |
This routine applies the Bohm limit, limits the drift speed, and applies any user-set limits to a set of CR propagation parameters.
|
pure virtual |
Access to field quantities needed?
This is a pure virtual function that is left to be implemented in derived classes. The function can return noFieldQty, needFieldQty, or needFieldQtyGrad, which indicates that the propagation model does not need any field quantities, needs field quantities, or needs field quantities and their gradients, respectively.
Implemented in criptic::propagation::NoPropagation, and criptic::propagation::PropPowerlaw.
|
pure virtual |
Return the propagation data.
| x | Position |
| t | Time |
| gd | Data on background gas state |
| packet | Packet data |
| qty | Field quantities at the specified (x,t) |
| qtyGrad | Gradients of field quantities at specified (x,t) |
Implemented in criptic::propagation::NoPropagation, and criptic::propagation::PropPowerlaw.
|
private |
Enforce Bohm limit or not
|
private |
Maximum parallel diffusion coefficient
|
private |
Maximum perpendicular diffusion coefficient
|
private |
Maxmimum momentum diffusionn coefficient
|
private |
Maximum drift speed, in units of c