XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
smoothing.hpp
Go to the documentation of this file.
1 #ifndef SMOOTHING_HPP
2 #define SMOOTHING_HPP
3 
4 #include "hyper_viscosity.hpp"
5 
6 // This struct can contain various smoothing; though maybe these are better off
7 // as filter settings associated with a field etc
8 struct Smoothing{
10 
11  bool pol_efield;
13 
15 
17  : hyper_viscosity(nlr)
18  {
19  nlr.use_namelist("smooth_param");
20  pol_efield = nlr.get<bool>("smooth_pol_efield", false); // Smoothing of poloidal potential before computing the poloidal field
21  fourier_filt_on = nlr.get<bool>("smooth_fourier_filt_on", false); // Switch for additional SOL Fourier filter
22  }
23 };
24 
25 #endif
Smoothing(NLReader::NamelistReader &nlr)
Definition: smoothing.hpp:16
T get(const string &param, const T default_val, int val_ind=0)
Definition: NamelistReader.hpp:373
HyperViscosity hyper_viscosity
Definition: smoothing.hpp:9
Definition: NamelistReader.hpp:193
Definition: hyper_viscosity.hpp:8
void use_namelist(const string &namelist)
Definition: NamelistReader.hpp:355
Smoothing()
Definition: smoothing.hpp:14
Definition: smoothing.hpp:8
bool fourier_filt_on
Definition: smoothing.hpp:12
bool pol_efield
Definition: smoothing.hpp:11