ETS  \$Id: Doxyfile 2162 2020-02-26 14:16:09Z g2dpc $
 All Classes Files Functions Variables Pages
soloviev.f90
Go to the documentation of this file.
1 subroutine soloviev(x, y, solpsi, psix, psiy, psixy)
2 !-----------------------------------------------------------------------
3 ! soloviev equilibrium (not called by Helena)
4 !-----------------------------------------------------------------------
5 
6  use itm_types
7  use mod_dat
8 
9  implicit none
10 
11  real(r8), intent(in) :: x
12  real(r8), intent(inout) :: y
13  real(r8), intent(out) :: solpsi, psix, psiy, psixy
14 
15  y = -y
16  par4 = quad
17  par3 = tria
18  par2 = eps
19  par1 = ellip
20 
21  solpsi = (1._r8 - 0.25_r8 * par2**2) * (1._r8 + par2 * x)**2 &
22  * (y / par1)**2 + (x - 0.5_r8 * par2 * (1._r8 - x * x))**2 &
23  + (4._r8 - par2**2) * (x - 0.5_r8 * par2 * (1._r8 - x**2)) &
24  * par4 * y / (2._r8 * par2)
25 
26  psix = 2._r8* (x - 0.5_r8 * par2 * (1._r8 - x * x)) * (1._r8 &
27  + par2 * x) + (2._r8 * par2 * (1._r8 - 0.25_r8 * par2**2) &
28  * (1._r8 + par2 * x)) * (y / par1)**2 + (4._r8 - par2**2) &
29  * (1._r8 + 0.5_r8 * par2 * (2._r8 * x)) * par4 &
30  * y / (2._r8 * par2)
31 
32  psiy = 2._r8 * y / par1**2 * (1._r8 - 0.25_r8 * par2**2) &
33  * (1._r8 + par2 * x)**2 + (4._r8 - par2**2) * (x - 0.5_r8 &
34  * par2 * (1._r8 - x**2)) * par4 / (2._r8 * par2)
35 
36  psiy = -psiy
37 
38  psixy = 2._r8 * y / par1**2 * (1._r8 - 0.25_r8 * par2**2) &
39  * (1._r8 + par2 * x) * 2._r8 * par2 + (4._r8 - par2**2) &
40  * (1._r8 + 0.5_r8 * par2 * (2._r8 * x)) * par4 &
41  / (2._r8 * par2)
42 
43  psixy = -psixy
44 
45  return
46 end subroutine soloviev
subroutine soloviev(x, y, solpsi, psix, psiy, psixy)
Definition: soloviev.f90:1