V3FIT
free_mem_funct3d.f
1  SUBROUTINE free_mem_funct3d_par
2  USE vmec_main
3  USE realspace
4  USE vforces
5  USE vacmod
6 
7  IMPLICIT NONE
8 C-----------------------------------------------
9 C L o c a l V a r i a b l e s
10 C-----------------------------------------------
11  INTEGER :: istat1 = 0
12 C-----------------------------------------------
13  IF (ALLOCATED(parmn))
14  & DEALLOCATE(parmn, pazmn, pbrmn, pbzmn, pcrmn, pczmn, pblmn,
15  & pclmn, pr1, pru, prv, pz1, pzu, pzv, pgcon, prcon,
16  & pzcon, prcon0, pzcon0, pguu, pguv, pgvv,
17  & pru0, pzu0, stat=istat1)
18  IF (istat1 .ne. 0) THEN
19  stop 'deallocation error#1 in funct3d'
20  END IF
21 
22  IF (ALLOCATED(pextra1)) THEN
23  DEALLOCATE (pextra1, pextra2, pextra3, pextra4, stat=istat1)
24  END IF
25  IF (istat1 .ne. 0) THEN
26  stop 'deallocation error#3 in funct3d'
27  END IF
28 
29  END SUBROUTINE free_mem_funct3d_par
30 
31  SUBROUTINE free_mem_funct3d
32  USE vmec_main
33  USE realspace
34  USE vforces
35  USE vacmod
36 
37  IMPLICIT NONE
38 C-----------------------------------------------
39 C L o c a l V a r i a b l e s
40 C-----------------------------------------------
41  INTEGER :: istat1 = 0
42 C-----------------------------------------------
43 
44  IF (ALLOCATED(armn)) THEN
45  DEALLOCATE (armn, azmn, brmn, bzmn, crmn, czmn, blmn, clmn,
46  & r1, ru, rv, z1, zu, zv, gcon, rcon, zcon, ru0, zu0,
47  & rcon0, zcon0, guu, guv, gvv, sigma_an, stat=istat1)
48  END IF
49  IF (istat1 .ne. 0) THEN
50  stop 'deallocation error#1 in funct3d'
51  END IF
52 
53 #ifdef _ANIMEC
54  IF (ALLOCATED(pperp)) THEN
55  DEALLOCATE (pperp, ppar, onembc, pp1, pp2, pp3,
56  & stat=istat1)
57  END IF
58  IF (istat1 .ne. 0) THEN
59  stop 'deallocation error#1A in funct3d'
60  END IF
61 #endif
62 
63  IF (ALLOCATED(brv)) THEN
64  DEALLOCATE(brv, bphiv, bzv, bsqvac,
65  & bsubu_sur, bsubv_sur,
66  & bsupu_sur, bsupv_sur, stat=istat1)
67  END IF
68  IF (istat1 .ne. 0) THEN
69  stop 'deallocation error#2 in funct3d'
70  END IF
71 
72  IF (ALLOCATED(bsqvac0)) THEN
73  DEALLOCATE (bsqvac0)
74  END IF
75 
76  IF (ALLOCATED(extra1)) THEN
77  DEALLOCATE (extra1, extra2, extra3, extra4, stat=istat1)
78  END IF
79  IF (istat1 .ne. 0) THEN
80  stop 'deallocation error#3 in funct3d'
81  END IF
82 
83  END SUBROUTINE free_mem_funct3d