XGCa
Public Member Functions | Public Attributes | List of all members
HyperViscosity Class Reference

#include <hyper_viscosity.hpp>

Collaboration diagram for HyperViscosity:
Collaboration graph
[legend]

Public Member Functions

 HyperViscosity ()
 
 HyperViscosity (NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, Plasma &plasma)
 
void apply_radial (const View< double *, CLayout, DeviceType > &view) const
 
void apply_radial (const View< double *, CLayout, DeviceType > &input, const View< double *, CLayout, DeviceType > &output) const
 
void apply_radial (const View< double *, CLayout, HostType > &view) const
 
void apply_radial (const View< double *, CLayout, HostType > &input, const View< double *, CLayout, HostType > &output) const
 
void apply_radial (const View< ScalarField *, CLayout, HostType > &input, const View< ScalarField *, CLayout, HostType > &output) const
 
void apply (const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const Boundary &boundary, const View< double *, CLayout, HostType > &field)
 

Public Attributes

bool rad_on
 Switch for 2nd order accurate 4th derivative radial (grad(psi)) hyperviscosity. More...
 
bool parallel_on
 Switch for 2nd order accurate 4th derivative field-aligned hyperviscosity. More...
 
double parallel
 Strength of the parallel hyperviscosity; sml_dt/parallel corresponds. More...
 
Matrix< DeviceTyperad_mat
 

Constructor & Destructor Documentation

◆ HyperViscosity() [1/2]

HyperViscosity::HyperViscosity ( )
inline

◆ HyperViscosity() [2/2]

HyperViscosity::HyperViscosity ( NLReader::NamelistReader nlr,
const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
Plasma plasma 
)

< If \(|\nabla\psi|\) is smaller than this threshold, \(\nabla\psi\) is computed

Here is the call graph for this function:

Member Function Documentation

◆ apply()

void HyperViscosity::apply ( const MagneticField< DeviceType > &  magnetic_field,
const Grid< DeviceType > &  grid,
const DomainDecomposition< DeviceType > &  pol_decomp,
const Boundary boundary,
const View< double *, CLayout, HostType > &  field 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ apply_radial() [1/5]

void HyperViscosity::apply_radial ( const View< double *, CLayout, DeviceType > &  input,
const View< double *, CLayout, DeviceType > &  output 
) const
Here is the call graph for this function:

◆ apply_radial() [2/5]

void HyperViscosity::apply_radial ( const View< double *, CLayout, DeviceType > &  view) const
Here is the caller graph for this function:

◆ apply_radial() [3/5]

void HyperViscosity::apply_radial ( const View< double *, CLayout, HostType > &  input,
const View< double *, CLayout, HostType > &  output 
) const
Here is the call graph for this function:

◆ apply_radial() [4/5]

void HyperViscosity::apply_radial ( const View< double *, CLayout, HostType > &  view) const
Here is the call graph for this function:

◆ apply_radial() [5/5]

void HyperViscosity::apply_radial ( const View< ScalarField *, CLayout, HostType > &  input,
const View< ScalarField *, CLayout, HostType > &  output 
) const
Here is the call graph for this function:

Member Data Documentation

◆ parallel

double HyperViscosity::parallel

Strength of the parallel hyperviscosity; sml_dt/parallel corresponds.

◆ parallel_on

bool HyperViscosity::parallel_on

Switch for 2nd order accurate 4th derivative field-aligned hyperviscosity.

◆ rad_mat

Matrix<DeviceType> HyperViscosity::rad_mat

◆ rad_on

bool HyperViscosity::rad_on

Switch for 2nd order accurate 4th derivative radial (grad(psi)) hyperviscosity.


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