SPEC 3.20
Stepped Pressure Equilibrium Code
|
Functions/Subroutines | |
subroutine | rzaxis (Mvol, mn, inRbc, inZbs, inRbs, inZbc, ivol, LcomputeDerivatives) |
The coordinate axis is assigned via a poloidal average over an arbitrary surface. More... | |
subroutine rzaxis | ( | integer, intent(in) | Mvol, |
integer, intent(in) | mn, | ||
real, dimension(1:mn,0:mvol) | inRbc, | ||
real, dimension(1:mn,0:mvol) | inZbs, | ||
real, dimension(1:mn,0:mvol) | inRbs, | ||
real, dimension(1:mn,0:mvol) | inZbc, | ||
integer, intent(in) | ivol, | ||
logical, intent(in) | LcomputeDerivatives | ||
) |
The coordinate axis is assigned via a poloidal average over an arbitrary surface.
Specifies position of coordinate axis; \({\bf x}_a(\zeta) \equiv \int {\bf x}_1(\theta,\zeta) dl \, / \int dl\).
coordinate axis
ivol
which is given on input, down to a line. \begin{eqnarray} R_0(\zeta) \equiv \frac{\displaystyle \int_{0}^{2\pi} R_i(\theta,\zeta) \, dl}{\displaystyle \int_{0}^{2\pi} \!\!\!\! dl}, \qquad Z_0(\zeta) \equiv \frac{\displaystyle \int_{0}^{2\pi} Z_i(\theta,\zeta) \, dl}{\displaystyle \int_{0}^{2\pi} \!\!\!\! dl}, \end{eqnarray}
where \(dl \equiv \dot l \, d\theta = \sqrt{ \partial_\theta R_i(\theta,\zeta)^2 + \partial_\theta Z_i(\theta,\zeta)^2 } \, d\theta\).coordinate axis: derivatives
\begin{eqnarray} \displaystyle \frac{\partial R_0}{\partial R_{i,j}^c} & = & \displaystyle \int \left( \cos\alpha_j \; \dot l - \Delta R_i R_{i,\theta} \, m_j \sin\alpha_j / \; \dot l \right) d\theta / L \\ \displaystyle \frac{\partial R_0}{\partial R_{i,j}^s} & = & \displaystyle \int \left( \sin\alpha_j \; \dot l + \Delta R_i R_{i,\theta} \, m_j \cos\alpha_j / \; \dot l \right) d\theta / L \\ \displaystyle \frac{\partial R_0}{\partial Z_{i,j}^c} & = & \displaystyle \int \left( \;\;\;\;\;\;\;\;\;\;\;\;\, - \Delta R_i Z_{i,\theta} \, m_j \sin\alpha_j / \; \dot l \right) d\theta / L \\ \displaystyle \frac{\partial R_0}{\partial Z_{i,j}^s} & = & \displaystyle \int \left( \;\;\;\;\;\;\;\;\;\;\;\;\, + \Delta R_i Z_{i,\theta} \, m_j \cos\alpha_j / \; \dot l \right) d\theta / L \\ \nonumber \\ \displaystyle \frac{\partial Z_0}{\partial R_{i,j}^c} & = & \displaystyle \int \left( \;\;\;\;\;\;\;\;\;\;\;\;\, - \Delta Z_i R_{i,\theta} \, m_j \sin\alpha_j / \; \dot l \right) d\theta / L \\ \displaystyle \frac{\partial Z_0}{\partial R_{i,j}^s} & = & \displaystyle \int \left( \;\;\;\;\;\;\;\;\;\;\;\; + \Delta Z_i R_{i,\theta} \, m_j \cos\alpha_j / \; \dot l \right) d\theta / L \\ \displaystyle \frac{\partial Z_0}{\partial Z_{i,j}^c} & = & \displaystyle \int \left( \cos\alpha_j \; \dot l - \Delta Z_i Z_{i,\theta} \, m_j \sin\alpha_j / \; \dot l \right) d\theta / L \\ \displaystyle \frac{\partial Z_0}{\partial Z_{i,j}^s} & = & \displaystyle \int \left( \sin\alpha_j \; \dot l + \Delta Z_i Z_{i,\theta} \, m_j \cos\alpha_j / \; \dot l \right) d\theta / L \end{eqnarray}
where \(\displaystyle L(\zeta) \equiv \int_{0}^{2\pi} \!\!\!\! dl\).some numerical comments
ajk(1:mn)
variable is used, and this is assigned in readin() . [in] | Mvol | |
[in] | mn | |
inRbc | ||
inZbs | ||
inRbs | ||
inZbc | ||
[in] | ivol | |
LcomputeDerivatives |
References allglobal::ajk, allglobal::cfmn, allglobal::comn, coords(), allglobal::cosi, allglobal::cpus, allglobal::dbdx, allglobal::dradr, allglobal::dradz, allglobal::drodr, allglobal::drodz, allglobal::dzadr, allglobal::dzadz, allglobal::dzodr, allglobal::dzodz, allglobal::efmn, allglobal::evmn, constants::half, inputlist::igeometry, allglobal::ijimag, allglobal::ijreal, allglobal::im, allglobal::in, allglobal::irbc, allglobal::irbs, allglobal::izbc, allglobal::izbs, allglobal::jiimag, allglobal::jireal, allglobal::jkimag, allglobal::jkreal, allglobal::kjimag, allglobal::kjreal, inputlist::lcheck, allglobal::lcoordinatesingularity, inputlist::lfreebound, inputlist::linitialize, inputlist::lreflect, inputlist::lrzaxis, allglobal::mpi_comm_spec, allglobal::myid, allglobal::ncpu, allglobal::notstellsym, allglobal::nt, inputlist::ntor, inputlist::ntoraxis, allglobal::ntz, allglobal::nz, allglobal::odmn, allglobal::ofmn, constants::one, fileunits::ounit, allglobal::rij, rzaxis(), allglobal::sfmn, allglobal::sg, allglobal::simn, allglobal::sini, constants::two, numerical::vsmall, inputlist::wmacros, allglobal::yesstellsym, constants::zero, and allglobal::zij.
Referenced by packxi(), preset(), and rzaxis().