SpECTRE  v2024.04.12
grmhd::AnalyticData::InitialMagneticFields::InitialMagneticField Class Referenceabstract

The abstract base class for initial magnetic field configurations. More...

#include <InitialMagneticField.hpp>

Public Types

using creatable_classes = tmpl::list< Poloidal, Toroidal >
 

Public Member Functions

virtual auto get_clone () const -> std::unique_ptr< InitialMagneticField >=0
 
virtual void variables (gsl::not_null< tnsr::I< DataVector, 3 > * > result, const tnsr::I< DataVector, 3 > &coords, const Scalar< DataVector > &pressure, const Scalar< DataVector > &sqrt_det_spatial_metric, const tnsr::i< DataVector, 3 > &deriv_pressure) const =0
 
virtual void variables (gsl::not_null< tnsr::I< double, 3 > * > result, const tnsr::I< double, 3 > &coords, const Scalar< double > &pressure, const Scalar< double > &sqrt_det_spatial_metric, const tnsr::i< double, 3 > &deriv_pressure) const =0
 
virtual bool is_equal (const InitialMagneticField &rhs) const =0
 

Detailed Description

The abstract base class for initial magnetic field configurations.

Warning
This assumes the magnetic field is initialized, both in size and value, before being passed into the variables function. This is so that multiple magnetic fields can be superposed. Each magnetic field configuration does a += to make this possible.

Member Function Documentation

◆ variables() [1/2]

virtual void grmhd::AnalyticData::InitialMagneticFields::InitialMagneticField::variables ( gsl::not_null< tnsr::I< DataVector, 3 > * >  result,
const tnsr::I< DataVector, 3 > &  coords,
const Scalar< DataVector > &  pressure,
const Scalar< DataVector > &  sqrt_det_spatial_metric,
const tnsr::i< DataVector, 3 > &  deriv_pressure 
) const
pure virtual

◆ variables() [2/2]

virtual void grmhd::AnalyticData::InitialMagneticFields::InitialMagneticField::variables ( gsl::not_null< tnsr::I< double, 3 > * >  result,
const tnsr::I< double, 3 > &  coords,
const Scalar< double > &  pressure,
const Scalar< double > &  sqrt_det_spatial_metric,
const tnsr::i< double, 3 > &  deriv_pressure 
) const
pure virtual

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