XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
hyper_viscosity.hpp
Go to the documentation of this file.
1 #ifndef HYPER_VISCOSITY_HPP
2 #define HYPER_VISCOSITY_HPP
3 
4 #include "grid.hpp"
6 
8  public:
9 
10  bool rad_on;
11  bool parallel_on;
12 
13  double rad;
14  double parallel;
15 
16  HyperViscosity() : rad_on(false), parallel_on(false) {}
17 
19 
20  void apply(const MagneticField<DeviceType>& magnetic_field, const Grid<DeviceType>& grid, const DomainDecomposition<DeviceType>& pol_decomp, const View<double*, CLayout, HostType>& field);
21 
22 };
23 
24 #endif
Definition: NamelistReader.hpp:193
Definition: magnetic_field.hpp:12
Definition: hyper_viscosity.hpp:7
bool parallel_on
Switch for 2nd order accurate 4th derivative field-aligned hyperviscosity.
Definition: hyper_viscosity.hpp:11
double rad
Strength of the radial hyperviscosity; sml_dt/rad corresponds.
Definition: hyper_viscosity.hpp:13
void apply(const MagneticField< DeviceType > &magnetic_field, const Grid< DeviceType > &grid, const DomainDecomposition< DeviceType > &pol_decomp, const View< double *, CLayout, HostType > &field)
Definition: hyper_viscosity.cpp:102
Definition: magnetic_field.F90:1
bool rad_on
Switch for 2nd order accurate 4th derivative radial (grad(psi)) hyperviscosity.
Definition: hyper_viscosity.hpp:10
HyperViscosity()
Definition: hyper_viscosity.hpp:16
double parallel
Strength of the parallel hyperviscosity; sml_dt/parallel corresponds.
Definition: hyper_viscosity.hpp:14