XGCa
current_drive.hpp
Go to the documentation of this file.
1 #ifndef CURRENT_DRIVE_HPP
2 #define CURRENT_DRIVE_HPP
3 
4 #include "toroidal_average.hpp"
5 #include "moments.hpp"
6 #include "loop_voltage_diag.hpp"
7 #include "source.hpp"
8 
9 class CurrentDrive : public Source{
10  public: // temporary, for checkpointing
13  View<double*,CLayout,HostType> jpar0_h; // Equilibrium current \f$j_\parallel=\hat{\boldsymbol{b}}\cdot(\nabla\times\boldsymbol{B})/\mu_0\f$
14 
16 
18 
19  double current_drive_p;
20  double current_drive_i;
21  double current_drive_d;
22 
23  public:
24 
26 
28 
29  void apply(const Grid<DeviceType>& grid, Plasma& plasma, Smoothing& smoothing,
30  const Moments& f0_moments, const DomainDecomposition<DeviceType>& pol_decomp,
33  LoopVolDiagnostics& loop_vol_diag, int gstep, double time);
34 };
35 
36 #endif
Definition: current_drive.hpp:9
GridField< HostType, VarType::Scalar, PhiInterpType::None, TorType::OnePlane, KinType::DriftKin > jpara_diff_previous_h
Definition: current_drive.hpp:11
bool loop_voltage_fsa
Make loop voltage and current drive flux-functions if true (default: true)
Definition: current_drive.hpp:17
double loop_voltage_psimax
Inductive current drive: outer boundary (in pol. flux) of the loop voltage.
Definition: current_drive.hpp:15
CurrentDrive()
Definition: current_drive.hpp:25
double current_drive_d
Current drive PID controller: factor for derivative controller ( )
Definition: current_drive.hpp:21
double current_drive_p
Current drive PID controller: factor for proportional controller ( )
Definition: current_drive.hpp:19
void apply(const Grid< DeviceType > &grid, Plasma &plasma, Smoothing &smoothing, const Moments &f0_moments, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const GridField< HostType, VarType::Scalar, PhiInterpType::None, TorType::OnePlane, KinType::DriftKin > &loop_voltage_h, LoopVolDiagnostics &loop_vol_diag, int gstep, double time)
Definition: current_drive.cpp:141
double current_drive_i
Current drive PID controller: factor for integral controller ( )
Definition: current_drive.hpp:20
View< double *, CLayout, HostType > jpar0_h
Definition: current_drive.hpp:13
GridField< HostType, VarType::Scalar, PhiInterpType::None, TorType::OnePlane, KinType::DriftKin > jpara_diff_integral_h
Definition: current_drive.hpp:12
Definition: loop_voltage_diag.hpp:18
Definition: magnetic_field.hpp:12
Definition: NamelistReader.hpp:193
Definition: plasma.hpp:13
Definition: magnetic_field.F90:1
subroutine plasma(grid, itr, p, dene_out, deni_out, Te_out, Ti_out, Vparai_out, ignore_vacuum)
Calculate the plasma density, temperature, and parallel velocity for a point in triangle itr using pl...
Definition: neutral_totalf.F90:1548
Definition: moments.hpp:9
Definition: smoothing.hpp:10
Definition: source.hpp:7