criptic v1
Cosmic Ray Interstellar Propagation Tool using Itô Calculus
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
criptic::gas::SplitMonopole Class Reference

A class to describe a gas with a split monopole field. More...

#include <SplitMonopole.H>

Inheritance diagram for criptic::gas::SplitMonopole:
criptic::gas::Gas

Public Member Functions

 SplitMonopole (const ParmParser &pp)
 Construct a split monopole gas from the input deck.
 
virtual ~SplitMonopole ()
 Virtual destructor – does nothing.
 
virtual GasData gasData (const RealVec &x, const Real t) const
 Return background gas state.
 
virtual void frame (const RealVec &x, const Real t, RealVec &v, TNBBasis &tnb) const
 Compute the comoving TNB frame for the gas.
 
- Public Member Functions inherited from criptic::gas::Gas
virtual ~Gas ()
 Empty virtual destructor.
 
virtual Real dxGhost () const
 Size of the ghost region in the gas data.
 
virtual void updateState (const Real t, Real &tNext)
 Update the gas data.
 

Private Attributes

Real r0
 
Real rFlat
 
Real rho0
 
Real krho
 
Real chi
 
Real B0
 

Detailed Description

A class to describe a gas with a split monopole field.

This class represents a spherically-symmetric gas containing a split-monopole magnetic field. The properties of the gas and field are read from the input deck. The monopole splits along the z = 0 plane, and for positive B0, the field points radially outward at z > 0 and radially inward at z < 0.

Constructor & Destructor Documentation

◆ SplitMonopole()

criptic::gas::SplitMonopole::SplitMonopole ( const ParmParser pp)
inline

Construct a split monopole gas from the input deck.

Parameters
ppcriptic::ParmParser containing the input deck

◆ ~SplitMonopole()

virtual criptic::gas::SplitMonopole::~SplitMonopole ( )
inlinevirtual

Virtual destructor – does nothing.

Member Function Documentation

◆ frame()

virtual void criptic::gas::SplitMonopole::frame ( const RealVec x,
const Real  t,
RealVec v,
TNBBasis tnb 
) const
inlinevirtual

Compute the comoving TNB frame for the gas.

Parameters
xPosition
tTime
vComoving velocity at specified position and time
tnbThe TNBBasis at the specified position and time

This function computes the comoving TNB frame for the gas at a specified position and time.

Reimplemented from criptic::gas::Gas.

◆ gasData()

virtual GasData criptic::gas::SplitMonopole::gasData ( const RealVec x,
const Real  t 
) const
inlinevirtual

Return background gas state.

Parameters
xPosition
tTime
Returns
GasData at specified (x, t)

Implements criptic::gas::Gas.

Member Data Documentation

◆ B0

Real criptic::gas::SplitMonopole::B0
private

|B| = B0 (r/r0)^-2

◆ chi

Real criptic::gas::SplitMonopole::chi
private

Ionization fraction in gas

◆ krho

Real criptic::gas::SplitMonopole::krho
private

Density obeys rho ~ rho0 * (r/r0)**krho

◆ r0

Real criptic::gas::SplitMonopole::r0
private

Scale radius

◆ rFlat

Real criptic::gas::SplitMonopole::rFlat
private

Radius of flat inner region

◆ rho0

Real criptic::gas::SplitMonopole::rho0
private

Density obeys rho ~ rho0 * (r/r0)**krho


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