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 #include "boundary.hpp"
7 
9  public:
10 
11  bool rad_on;
12  bool parallel_on;
13 
14  double rad;
15  double parallel;
16 
17  HyperViscosity() : rad_on(false), parallel_on(false) {}
18 
20 
21  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);
22 
23 };
24 
25 #endif
Definition: NamelistReader.hpp:193
Definition: magnetic_field.hpp:12
Definition: hyper_viscosity.hpp:8
Definition: boundary.hpp:85
bool parallel_on
Switch for 2nd order accurate 4th derivative field-aligned hyperviscosity.
Definition: hyper_viscosity.hpp:12
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)
Definition: hyper_viscosity.cpp:102
double rad
Strength of the radial hyperviscosity; sml_dt/rad corresponds.
Definition: hyper_viscosity.hpp:14
Definition: magnetic_field.F90:1
bool rad_on
Switch for 2nd order accurate 4th derivative radial (grad(psi)) hyperviscosity.
Definition: hyper_viscosity.hpp:11
HyperViscosity()
Definition: hyper_viscosity.hpp:17
double parallel
Strength of the parallel hyperviscosity; sml_dt/parallel corresponds.
Definition: hyper_viscosity.hpp:15