#include <HubbleRadialVectorField.hpp>

Public Member Functions | |
| int | dimension () const override |
| double | maxRadius () const |
| double | turnoverRadius () const |
| Vec | vector (Position bfr) const override |
| virtual int | dimension () const =0 |
| virtual Vec | vector (Position bfr) const =0 |
Public Member Functions inherited from SimulationItem | |
| template<class T > | |
| T * | find (bool setup=true) const |
| template<class T > | |
| T * | interface (int levels=-999999, bool setup=true) const |
| virtual string | itemName () const |
| void | setup () |
| string | typeAndName () const |
Public Member Functions inherited from Item | |
| Item (const Item &)=delete | |
| virtual | ~Item () |
| void | addChild (Item *child) |
| const vector< Item * > & | children () const |
| virtual void | clearItemListProperty (const PropertyDef *property) |
| void | destroyChild (Item *child) |
| virtual bool | getBoolProperty (const PropertyDef *property) const |
| virtual vector< double > | getDoubleListProperty (const PropertyDef *property) const |
| virtual double | getDoubleProperty (const PropertyDef *property) const |
| virtual string | getEnumProperty (const PropertyDef *property) const |
| virtual int | getIntProperty (const PropertyDef *property) const |
| virtual vector< Item * > | getItemListProperty (const PropertyDef *property) const |
| virtual Item * | getItemProperty (const PropertyDef *property) const |
| virtual string | getStringProperty (const PropertyDef *property) const |
| int | getUtilityProperty (string name) const |
| virtual void | insertIntoItemListProperty (const PropertyDef *property, int index, Item *item) |
| Item & | operator= (const Item &)=delete |
| Item * | parent () const |
| virtual void | removeFromItemListProperty (const PropertyDef *property, int index) |
| virtual void | setBoolProperty (const PropertyDef *property, bool value) |
| virtual void | setDoubleListProperty (const PropertyDef *property, vector< double > value) |
| virtual void | setDoubleProperty (const PropertyDef *property, double value) |
| virtual void | setEnumProperty (const PropertyDef *property, string value) |
| virtual void | setIntProperty (const PropertyDef *property, int value) |
| virtual void | setItemProperty (const PropertyDef *property, Item *item) |
| virtual void | setStringProperty (const PropertyDef *property, string value) |
| void | setUtilityProperty (string name, int value) |
| virtual string | type () const |
Protected Member Functions | |
| HubbleRadialVectorField () | |
| void | setupSelfBefore () override |
Protected Member Functions inherited from VectorField | |
| VectorField () | |
Protected Member Functions inherited from SimulationItem | |
| SimulationItem () | |
| virtual bool | offersInterface (const std::type_info &interfaceTypeInfo) const |
| virtual void | setupSelfAfter () |
| virtual void | setupSelfBefore () |
Protected Member Functions inherited from Item | |
| Item () | |
Private Types | |
| using | BaseType = VectorField |
| using | ItemType = HubbleRadialVectorField |
Private Attributes | |
| double | _maxRadius |
| double | _turnoverRadius |
Friends | |
| class | ItemRegistry |
HubbleRadialVectorField represents a vector field with vectors pointing away from the origin and a magnitude that varies with radial distance from the origin. Up to the turnover radius \((r_t \ge 0)\), the velocity is constantly accelerating. Beyond the turnover radius, the velocity is constantly decelarating. Beyond the maximum radius \((r_\mathrm{max} \ge r_t)\), the velocity is zero:
\[ v(r) = \begin{cases}\frac{r}{r_t} & \mathrm{for}\;r\le r_t \\ \left(1-\frac{r - r_t}{r_\mathrm{max}-r_t}\right) & \mathrm{for}\;r_t < r\le r_\mathrm{max} \\0 & \mathrm{for}\;r> r_\mathrm{max} \end{cases} \]
This radial magnitude dependence was presented in Das et al. 2006 (AJ, 132, 620D) as the velocity field for the biconical polar outflow in NGC1068.
When an item of this type is used, the names provided by the conditional value expression "Dimension3" are inserted into the name sets used for evaluating Boolean expressions.
|
inlineprotected |
Default constructor for concrete Item subclass HubbleRadialVectorField : "a Hubble flow pointing away from the origin with a constant acceleration and decelaration" .
|
overridevirtual |
This function returns the dimension of the vector field, which is 3 for this class, indicating no symmetries (the vectors point in a different direction at each position).
Implements VectorField.
|
inline |
This function returns the value of the discoverable double property maxRadius : "the maximum radius beyond which the outflow velocity is zero" .
This property represents a physical quantity of type "length" .
The minimum value for this property is "[0" .
|
overrideprotectedvirtual |
This function verifies that \(r_t \le r_\mathrm{max}\).
Reimplemented from SimulationItem.
|
inline |
This function returns the value of the discoverable double property turnoverRadius : "the turnover radius marking the transition from acceleration to decelaration" .
This property represents a physical quantity of type "length" .
The minimum value for this property is "[0" .
This function returns a vector pointing away from the origin at the given position \(\bf{r}\) according to the definitions given in the class header.
Implements VectorField.