Line data Source code
1 : !!****m* ABINIT/m_outvar_a_h
2 : !! NAME
3 : !! m_outvar_a_h
4 : !!
5 : !! FUNCTION
6 : !!
7 : !! COPYRIGHT
8 : !! Copyright (C) 1998-2026 ABINIT group (DCA, XG, GMR, MM)
9 : !! This file is distributed under the terms of the
10 : !! GNU General Public License, see ~abinit/COPYING
11 : !! or http://www.gnu.org/copyleft/gpl.txt .
12 : !!
13 : !! SOURCE
14 :
15 : #if defined HAVE_CONFIG_H
16 : #include "config.h"
17 : #endif
18 :
19 : #include "abi_common.h"
20 :
21 : module m_outvar_a_h
22 :
23 : use defs_basis
24 : use m_abicore
25 : use m_results_out
26 : use m_dtset
27 :
28 : use m_parser, only : prttagm, prttagm_images, ab_dimensions
29 :
30 : implicit none
31 :
32 : private
33 : !!***
34 :
35 : public :: outvar_a_h
36 : !!***
37 :
38 : contains
39 : !!***
40 :
41 : !!****f* ABINIT/outvar_a_h
42 : !! NAME
43 : !! outvar_a_h
44 : !!
45 : !! FUNCTION
46 : !! Echo variables between acell and gw_ ... (by alphabetic order) for the ABINIT code.
47 : !!
48 : !! INPUTS
49 : !! choice= 1 if echo of preprocessed variables, 2 if echo after call driver
50 : !! dmatpuflag=flag controlling the use of an initial density matrix in PAW+U (max. value over datasets)
51 : !! dtsets(0:ndtset_alloc)=<type datafiles_type>contains all input variables
52 : !! iout=unit number for echoed output
53 : !! jdtset_(0:ndtset_alloc)=actual index of the dataset (equal to dtsets(:)%jdtset)
54 : !! marr=maximum number of numbers in an array (might need to be increased ... !)
55 : !! multivals= <type ab_dimensions> either 0 or 1 , depending whether the
56 : !! dimension has different values for different datasets
57 : !! mxvals= <type ab_dimensions>
58 : !! maximum size of some arrays along all datasets, including
59 : !! lpawu =maximal value of input lpawu for all the datasets
60 : !! gw_nqlwl =maximal value of input gw_nqlwl for all the datasets
61 : !! mband =maximum number of bands
62 : !! natom =maximal value of input natom for all the datasets
63 : !! natpawu =maximal value of number of atoms on which +U is applied for all the datasets
64 : !! natvshift =maximal value of input natvshift for all the datasets
65 : !! nconeq =maximal value of input nconeq for all the datasets
66 : !! nimage =maximal value of input nimage for all the datasets
67 : !! nkpt =maximal value of input nkpt for all the datasets
68 : !! nkptgw =maximal value of input nkptgw for all the datasets
69 : !! nnos =maximal value of input nnos for all the datasets
70 : !! nqptdm =maximal value of input nqptdm for all the datasets
71 : !! nspinor =maximal value of input nspinor for all the datasets
72 : !! nsppol =maximal value of input nsppol for all the datasets
73 : !! nsym =maximum number of symmetries
74 : !! ntypat =maximum number of type of atoms
75 : !! nzchempot =maximal value of input nzchempot for all the datasets
76 : !! ncid= NetCDF handler
77 : !! ndtset=number of datasets
78 : !! ndtset_alloc=number of datasets, corrected for allocation of at least
79 : !! one data set. Use for most dimensioned arrays.
80 : !! for different datasets
81 : !! results_out(0:ndtset_alloc)=<type results_out_type>contains the results
82 : !! needed for outvars, including evolving variables
83 : !!
84 : !! OUTPUT
85 : !!
86 : !! NOTES
87 : !! Note that this routine is called only by the processor me==0 .
88 : !! In consequence, no use of message and wrtout routine.
89 : !! The lines of code needed to output the defaults are preserved
90 : !! (see last section of the routine, but are presently disabled)
91 : !!
92 : !! Note that acell, occ, rprim, xred and vel might have been modified by the
93 : !! computation, so that their values if choice=1 or choice=2 will differ.
94 : !!
95 : !! SOURCE
96 :
97 4524 : subroutine outvar_a_h(choice,dmatpuflag,dtsets,iout,&
98 4524 : jdtset_,marr,multivals,mxvals,ncid,ndtset,ndtset_alloc,&
99 4524 : results_out,strimg)
100 :
101 : !Arguments ------------------------------------
102 : !scalars
103 : integer,intent(in) :: choice,dmatpuflag,iout,marr,ndtset
104 : integer,intent(in) :: ndtset_alloc,ncid
105 : !arrays
106 : integer,intent(in) :: jdtset_(0:ndtset_alloc)
107 : type(ab_dimensions),intent(in) :: multivals,mxvals
108 : type(dataset_type),intent(in) :: dtsets(0:ndtset_alloc)
109 : type(results_out_type),intent(in) :: results_out(0:ndtset_alloc)
110 : character(len=8),intent(in) :: strimg(mxvals%nimage)
111 :
112 : !Local variables-------------------------------
113 : !scalars
114 : integer,parameter :: nkpt_max=50
115 : integer :: defo,idtset,ii,iimage,ga_n_rules,nn
116 : integer :: lpawu1,narr,mxnsp
117 : integer :: natnd,natom,nimfrqs,nimage
118 : integer :: ntypalch,ntypat,print_constraint,size1,size2,test_write,tmpimg0
119 : logical :: compute_static_images
120 : logical :: nontrivial_spinaxis
121 : real(dp) :: cpus
122 : character(len=1) :: firstchar_fftalg,firstchar_gpu
123 : character(len=14) :: str_hyb
124 : !arrays
125 4524 : integer,allocatable :: narrm(:)
126 4524 : integer,allocatable :: nimagem(:),prtimg(:,:)
127 4524 : integer,allocatable :: intarr(:,:)
128 4524 : real(dp),allocatable :: dprarr(:,:),dprarr_images(:,:,:)
129 :
130 : ! *************************************************************************
131 :
132 : !###########################################################
133 : !### 01. Initial allocations and initialisations.
134 :
135 18096 : ABI_MALLOC(dprarr,(marr,0:ndtset_alloc))
136 22620 : ABI_MALLOC(dprarr_images,(marr,mxvals%nimage,0:ndtset_alloc))
137 18096 : ABI_MALLOC(intarr,(marr,0:ndtset_alloc))
138 13572 : ABI_MALLOC(narrm,(0:ndtset_alloc))
139 9048 : ABI_MALLOC(nimagem,(0:ndtset_alloc))
140 18096 : ABI_MALLOC(prtimg,(mxvals%nimage,0:ndtset_alloc))
141 :
142 29986 : do idtset=0,ndtset_alloc
143 29986 : nimagem(idtset)=dtsets(idtset)%nimage
144 : end do
145 :
146 4524 : firstchar_gpu=' '
147 25462 : if (maxval(dtsets(1:ndtset_alloc)%gpu_option)/=ABI_GPU_DISABLED) firstchar_gpu='-'
148 :
149 : !if(multivals%ga_n_rules==0)ga_n_rules=dtsets(1)%ga_n_rules
150 4524 : ga_n_rules=dtsets(1)%ga_n_rules
151 : !if(multivals%natom==0)natom=dtsets(1)%natom
152 4524 : natom=dtsets(1)%natom
153 : !if(multivals%nimage==0)nimage=dtsets(1)%nimage
154 4524 : nimage=dtsets(1)%nimage
155 :
156 4524 : natnd=dtsets(1)%natnd
157 :
158 4524 : nimfrqs=dtsets(1)%cd_customnimfrqs
159 : !if(multivals%ntypalch==0)ntypalch=dtsets(1)%ntypalch
160 4524 : ntypalch=dtsets(1)%ntypalch
161 : !if(multivals%ntypat==0)ntypat=dtsets(1)%ntypat
162 4524 : ntypat=dtsets(1)%ntypat
163 :
164 : !###########################################################
165 : !### 03. Print all the input variables (A)
166 : !##
167 :
168 29986 : intarr(1,:)=dtsets(:)%iomode
169 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'iomode','INT',0,firstchar="-")
170 :
171 29986 : intarr(1,:)=dtsets(:)%accuracy
172 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'accuracy','INT',0)
173 :
174 : !acell
175 56668 : prtimg(:,:)=1
176 29986 : do idtset=0,ndtset_alloc
177 25462 : narrm(idtset)=3
178 56200 : do iimage=1,nimagem(idtset)
179 25462 : if (narrm(idtset)>0) then
180 104856 : dprarr_images(1:narrm(idtset),iimage,idtset)=results_out(idtset)%acell(1:3,iimage)
181 : end if
182 : end do
183 : end do
184 : call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'acell','LEN',&
185 4524 : mxvals%nimage,nimagem,ndtset,prtimg,strimg)
186 :
187 :
188 : !adpimd and adpimd_gamma
189 29986 : intarr(1,:)=dtsets(:)%adpimd
190 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'adpimd','INT',0)
191 :
192 29986 : dprarr(1,:)=dtsets(:)%adpimd_gamma
193 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'adpimd_gamma','DPR',0)
194 :
195 : !algalch
196 4524 : narr=ntypalch ! default size for all datasets
197 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
198 25462 : narrm(idtset)=dtsets(idtset)%ntypalch
199 25462 : if(idtset==0)narrm(idtset)=mxvals%ntypat
200 36182 : intarr(1:narrm(idtset),idtset)=dtsets(idtset)%algalch(1:narrm(idtset))
201 : end do
202 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,&
203 4524 : narrm,ncid,ndtset_alloc,'algalch','INT',multivals%ntypalch)
204 :
205 : !amu
206 56668 : prtimg(:,:)=1
207 29986 : do idtset=0,ndtset_alloc
208 25462 : if(idtset/=0)then
209 20938 : size1=dtsets(idtset)%ntypat
210 : else
211 4524 : size1=mxvals%ntypat
212 : end if
213 25462 : narrm(idtset)=size1
214 56200 : do iimage=1,nimagem(idtset)
215 51676 : if (narrm(idtset)>0) then
216 59684 : dprarr_images(1:narrm(idtset),iimage,idtset)=results_out(idtset)%amu(1:size1,iimage)
217 : end if
218 : end do
219 : end do
220 : call prttagm_images(dprarr_images,iout,jdtset_,1,marr,narrm,ncid,ndtset_alloc,'amu','DPR',&
221 4524 : & mxvals%nimage,nimagem,ndtset,prtimg,strimg,forceprint=2)
222 :
223 29986 : intarr(1,:)=dtsets(:)%asr
224 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'asr','INT',0)
225 :
226 : !atndlist
227 4409052 : dprarr(:,0)=0.0_dp
228 4524 : narr=3*natnd ! default size for all datasets
229 25462 : do idtset=1,ndtset_alloc ! specific size for each dataset
230 20938 : narrm(idtset)=3*dtsets(idtset)%natnd
231 20938 : if (narrm(idtset)>0) then
232 112 : dprarr(1:narrm(idtset),idtset)= reshape(dtsets(idtset)%atndlist(1:3,1:dtsets(idtset)%natnd), [narrm(idtset)])
233 : end if
234 25750 : if(sum(abs( dtsets(idtset)%atndlist(1:3,1:dtsets(idtset)%natnd))) < tol12 ) narrm(idtset)=0
235 : end do
236 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'atndlist','DPR',multivals%natom)
237 :
238 :
239 : !atvshift
240 4524 : if(mxvals%natpawu>0)then
241 180 : narr=dtsets(1)%natvshift*dtsets(1)%nsppol*mxvals%natom ! default size for all datasets
242 828 : do idtset=0,ndtset_alloc ! specific size for each dataset
243 828 : if(idtset/=0)then
244 468 : narrm(idtset)=dtsets(idtset)%natvshift*dtsets(idtset)%nsppol*mxvals%natom
245 468 : if(narrm(idtset)/=0)&
246 : & dprarr(1:narrm(idtset),idtset)=&
247 : & reshape(dtsets(idtset)%atvshift(1:dtsets(idtset)%natvshift,&
248 : & 1:dtsets(idtset)%nsppol,1:mxvals%natom),&
249 120 : & (/ narrm(idtset) /) )
250 : else
251 180 : narrm(idtset)=mxvals%natvshift*mxvals%nsppol*mxvals%natom
252 180 : if(narrm(idtset)/=0)&
253 : & dprarr(1:narrm(idtset),idtset)=&
254 : & reshape(dtsets(idtset)%atvshift(1:mxvals%natvshift,&
255 : & 1:mxvals%nsppol,1:mxvals%natom),&
256 40 : & (/ narrm(idtset) /) )
257 : end if
258 : end do
259 : call prttagm(dprarr,intarr,iout,jdtset_,5,marr,narr,&
260 : & narrm,ncid,ndtset_alloc,'atvshift','DPR',&
261 180 : & multivals%natvshift+multivals%nsppol+multivals%natom)
262 : end if
263 :
264 29986 : intarr(1,:)=dtsets(:)%autoparal
265 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'autoparal','INT',0)
266 :
267 29986 : intarr(1,:)=dtsets(:)%auxc_ixc
268 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'auxc_ixc','INT',0)
269 :
270 29986 : dprarr(1,:)=dtsets(:)%auxc_scal
271 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'auxc_scal','DPR',0)
272 :
273 29986 : intarr(1,:)=dtsets(:)%awtr
274 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'awtr','INT',0)
275 :
276 : !###########################################################
277 : !### 03. Print all the input variables (B)
278 : !##
279 :
280 29986 : intarr(1,:)=dtsets(:)%bandpp
281 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bandpp','INT',0)
282 :
283 29986 : intarr(1,:)=dtsets(:)%bdberry(1)
284 29986 : intarr(2,:)=dtsets(:)%bdberry(2)
285 29986 : intarr(3,:)=dtsets(:)%bdberry(3)
286 29986 : intarr(4,:)=dtsets(:)%bdberry(4)
287 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,4,narrm,ncid,ndtset_alloc,'bdberry','INT',0)
288 :
289 29986 : intarr(1,:)=dtsets(:)%bdeigrf
290 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bdeigrf','INT',0)
291 :
292 : !bdgw
293 4524 : narr=2*dtsets(1)%nkptgw*dtsets(1)%nsppol ! default size for all datasets
294 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
295 29986 : if(idtset/=0)then
296 20938 : narrm(idtset)=2*dtsets(idtset)%nkptgw*dtsets(idtset)%nsppol
297 20938 : if (narrm(idtset)>0)&
298 : & intarr(1:narrm(idtset),idtset)=&
299 1952 : & reshape(dtsets(idtset)%bdgw(1:2,1:dtsets(idtset)%nkptgw,1:dtsets(idtset)%nsppol),(/narrm(idtset)/))
300 : else
301 4524 : narrm(idtset)=2*mxvals%nkptgw*mxvals%nsppol
302 4524 : if (narrm(idtset)>0)&
303 : & intarr(1:narrm(idtset),idtset)=&
304 632 : & reshape(dtsets(idtset)%bdgw(1:2,1:mxvals%nkptgw,1:mxvals%nsppol),(/ narrm(idtset) /) )
305 : end if
306 : end do
307 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,&
308 4524 : & narrm,ncid,ndtset_alloc,'bdgw','INT',multivals%nkptgw+multivals%nsppol)
309 :
310 29986 : intarr(1,:)=dtsets(:)%berryopt
311 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'berryopt','INT',0)
312 :
313 29986 : intarr(1,:)=dtsets(:)%berrysav
314 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'berrysav','INT',0)
315 :
316 29986 : intarr(1,:)=dtsets(:)%berrystep
317 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'berrystep','INT',0)
318 :
319 29986 : dprarr(1,:)=dtsets(:)%bfield(1)
320 29986 : dprarr(2,:)=dtsets(:)%bfield(2)
321 29986 : dprarr(3,:)=dtsets(:)%bfield(3)
322 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'bfield','DPR',0)
323 :
324 29986 : dprarr(1,:)=dtsets(:)%bmass
325 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'bmass','DPR',0)
326 :
327 29986 : dprarr(1,:)=dtsets(:)%boxcenter(1)
328 29986 : dprarr(2,:)=dtsets(:)%boxcenter(2)
329 29986 : dprarr(3,:)=dtsets(:)%boxcenter(3)
330 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'boxcenter','DPR',0)
331 :
332 29986 : dprarr(1,:)=dtsets(:)%boxcutmin
333 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'boxcutmin','DPR',0)
334 :
335 29986 : intarr(1,:)=dtsets(:)%brav
336 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'brav','INT',0)
337 :
338 29986 : intarr(1,:)=dtsets(:)%bs_algorithm
339 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_algorithm','INT',0)
340 :
341 29986 : intarr(1,:)=dtsets(:)%bs_calctype
342 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_calctype','INT',0)
343 :
344 29986 : intarr(1,:)=dtsets(:)%bs_coulomb_term
345 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_coulomb_term','INT',0)
346 :
347 29986 : intarr(1,:)=dtsets(:)%bs_coupling
348 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_coupling','INT',0)
349 :
350 29986 : do idtset=0,ndtset_alloc
351 80910 : dprarr(1:2,idtset)=dtsets(idtset)%bs_eh_cutoff(1:2)
352 : end do
353 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'bs_eh_cutoff','ENE',0)
354 :
355 29986 : intarr(1,:)=dtsets(:)%bs_exchange_term
356 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_exchange_term','INT',0)
357 :
358 29986 : do idtset=0,ndtset_alloc
359 106372 : dprarr(1:3,idtset)=dtsets(idtset)%bs_freq_mesh(1:3)
360 : end do
361 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'bs_freq_mesh','ENE',0)
362 :
363 29986 : intarr(1,:)=dtsets(:)%bs_haydock_niter
364 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_haydock_niter','INT',0)
365 :
366 29986 : do idtset=0,ndtset_alloc
367 80910 : dprarr(1:2,idtset)=dtsets(idtset)%bs_haydock_tol(:)
368 : end do
369 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'bs_haydock_tol','DPR',0)
370 :
371 29986 : intarr(1,:)=dtsets(:)%bs_hayd_term
372 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_hayd_term','INT',0)
373 :
374 29986 : do idtset=0,ndtset_alloc
375 106372 : intarr(1:3,idtset)=dtsets(idtset)%bs_interp_kmult(1:3)
376 : end do
377 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'bs_interp_kmult','INT',0)
378 :
379 29986 : intarr(1,:)=dtsets(:)%bs_interp_method
380 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_method','INT',0)
381 :
382 29986 : intarr(1,:)=dtsets(:)%bs_interp_mode
383 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_mode','INT',0)
384 :
385 29986 : intarr(1,:)=dtsets(:)%bs_interp_prep
386 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_prep','INT',0)
387 :
388 29986 : intarr(1,:)=dtsets(:)%bs_interp_rl_nb
389 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_rl_nb','INT',0)
390 :
391 : !bs_loband
392 4524 : narr=dtsets(1)%nsppol ! default size for all datasets
393 19931182 : intarr = 0
394 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
395 25462 : if(idtset/=0)then
396 20938 : narrm(idtset)=dtsets(idtset)%nsppol
397 : else
398 4524 : narrm(idtset)=mxvals%nsppol
399 : end if
400 60492 : intarr(1:narrm(idtset),idtset)=dtsets(idtset)%bs_loband(1:narrm(idtset))
401 : end do
402 :
403 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'bs_loband','INT',multivals%nsppol)
404 :
405 29986 : intarr(1,:)=dtsets(:)%bs_nstates
406 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_nstates','INT',0)
407 :
408 29986 : intarr(1,:)=dtsets(:)%builtintest
409 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'builtintest','INT',0)
410 :
411 29986 : dprarr(1,:)=dtsets(:)%bxctmindg
412 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'bxctmindg','DPR',0)
413 :
414 : !###########################################################
415 : !### 03. Print all the input variables (C)
416 : !##
417 :
418 29982 : if (ANY(dtsets(:)%cd_customnimfrqs/=0)) then
419 20 : intarr(1,:)=dtsets(:)%cd_customnimfrqs
420 4 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_customnimfrqs','INT',0)
421 : end if
422 :
423 29986 : intarr(1,:)=dtsets(:)%cd_frqim_method
424 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_frqim_method','INT',0)
425 :
426 29986 : intarr(1,:)=dtsets(:)%cd_full_grid
427 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_full_grid','INT',0)
428 :
429 29986 : dprarr(1,:)=dtsets(:)%cd_halfway_freq
430 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_halfway_freq','ENE',0)
431 :
432 : !cd_imfrqs
433 4524 : narr=mxvals%nimfrqs ! default size for all datasets
434 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
435 25462 : narrm(idtset)=dtsets(idtset)%cd_customnimfrqs
436 25462 : if(idtset==0)narrm(idtset)=mxvals%nimfrqs
437 29986 : if (narrm(idtset)>0) then
438 40 : dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%cd_imfrqs(1:narrm(idtset))
439 : end if
440 : end do
441 4524 : call prttagm(dprarr,intarr,iout,jdtset_,6,marr,narr,narrm,ncid,ndtset_alloc,'cd_imfrqs','ENE',multivals%nimfrqs)
442 :
443 29986 : dprarr(1,:)=dtsets(:)%cd_max_freq
444 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_max_freq','ENE',0)
445 :
446 29986 : if (ANY(dtsets(:)%cd_subset_freq(1)/=0)) then
447 0 : intarr(1,:)=dtsets(:)%cd_subset_freq(1)
448 0 : intarr(2,:)=dtsets(:)%cd_subset_freq(2)
449 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'cd_subset_freq','INT',0)
450 : end if
451 :
452 : !cellcharge
453 56668 : prtimg(:,:)=1
454 29986 : do idtset=0,ndtset_alloc
455 25462 : narrm(idtset)=1
456 56200 : do iimage=1,nimagem(idtset)
457 25462 : if (narrm(idtset)>0) then
458 52428 : dprarr_images(1:narrm(idtset),iimage,idtset)=dtsets(idtset)%cellcharge(iimage)
459 : end if
460 : end do
461 : end do
462 : call prttagm_images(dprarr_images,iout,jdtset_,1,marr,narrm,ncid,ndtset_alloc,'cellcharge','DPR',&
463 4524 : & mxvals%nimage,nimagem,ndtset,prtimg,strimg)
464 :
465 : !chempot
466 4524 : narr=3*mxvals%nzchempot*mxvals%ntypat ! default size for all datasets
467 4524 : if(narr/=0)then
468 72 : do idtset=0,ndtset_alloc ! specific size for each dataset
469 72 : if(idtset/=0)then
470 56 : narrm(idtset)=3*dtsets(idtset)%nzchempot*dtsets(idtset)%ntypat
471 56 : if(narrm(idtset)/=0)&
472 : & dprarr(1:narrm(idtset),idtset)=&
473 : & reshape(dtsets(idtset)%chempot(1:3,1:dtsets(idtset)%nzchempot,&
474 : & 1:dtsets(idtset)%ntypat),&
475 56 : & (/ narrm(idtset) /) )
476 : else
477 8 : narrm(idtset)=3*mxvals%nzchempot*mxvals%ntypat
478 : if(narrm(idtset)/=0)&
479 : & dprarr(1:narrm(idtset),idtset)=&
480 16 : & reshape(dtsets(idtset)%chempot(1:3,1:mxvals%nzchempot,1:mxvals%ntypat),(/ narrm(idtset) /) )
481 : end if
482 : end do
483 8 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'chempot','DPR',1)
484 : end if
485 :
486 29986 : intarr(1,:)=dtsets(:)%chkdilatmx
487 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkdilatmx','INT',0)
488 :
489 29986 : intarr(1,:)=dtsets(:)%chkexit
490 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkexit','INT',0)
491 :
492 29986 : intarr(1,:)=dtsets(:)%chkparal
493 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkparal','INT',0)
494 :
495 29986 : intarr(1,:)=dtsets(:)%chkprim
496 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkprim','INT',0)
497 :
498 29986 : intarr(1,:)=dtsets(:)%chksymbreak
499 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chksymbreak','INT',0)
500 :
501 29986 : intarr(1,:)=dtsets(:)%chksymtnons
502 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chksymtnons','INT',0)
503 :
504 29986 : intarr(1,:)=dtsets(:)%chneut
505 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chneut','INT',0)
506 :
507 : !chrgat
508 4524 : narr=mxvals%natom ! default size for all datasets
509 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
510 25462 : narrm(idtset)=dtsets(idtset)%natom
511 25462 : if(idtset==0)narrm(idtset)=mxvals%natom
512 136360 : if (narrm(idtset)>0) dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%chrgat(1:narrm(idtset))
513 : end do
514 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'chrgat','DPR',multivals%natom)
515 :
516 29986 : intarr(1,:)=dtsets(:)%cineb_start
517 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cineb_start','INT',0)
518 :
519 4524 : if(dtsets(1)%cpus>one)then
520 0 : cpus=dtsets(1)%cpus
521 0 : write(iout,'(1x,a16,1x,1p,t22,g10.2,t25,a)') 'cpus',cpus,'(seconds)'
522 0 : write(iout,'(1x,a16,1x,1p,t22,g10.2,t25,a)') 'cpum',cpus/60.0_dp,'(minutes)'
523 0 : write(iout,'(1x,a16,1x,1p,t22,g10.2,t25,a)') 'cpuh',cpus/3600.0_dp,'(hours)'
524 : end if
525 :
526 : !constraint_kind
527 4524 : narr=mxvals%ntypat ! default size for all datasets
528 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
529 25462 : narrm(idtset)=dtsets(idtset)%ntypat
530 25462 : if(idtset==0)narrm(idtset)=mxvals%ntypat
531 62144 : if (narrm(idtset)>0) intarr(1:narrm(idtset),idtset)=dtsets(idtset)%constraint_kind(1:narrm(idtset))
532 : end do
533 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'constraint_kind','INT',multivals%ntypat)
534 :
535 : !corecs
536 : narr=mxvals%ntypat ! default size for all datasets
537 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
538 25462 : narrm(idtset)=dtsets(idtset)%ntypat
539 25462 : if(idtset==0)narrm(idtset)=mxvals%ntypat
540 62144 : if (narrm(idtset)>0) dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%corecs(1:narrm(idtset))
541 : end do
542 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'corecs','DPR',multivals%ntypat)
543 :
544 29986 : intarr(1,:)=dtsets(:)%chebfi_oracle
545 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chebfi_oracle','INT',0)
546 :
547 29986 : intarr(1,:)=dtsets(:)%cprj_in_memory
548 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cprj_in_memory','INT',0)
549 :
550 29986 : intarr(1,:)=dtsets(:)%cprj_update_lvl
551 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cprj_update_lvl','INT',0)
552 :
553 29986 : intarr(1,:)=dtsets(:)%cwfs_wouth
554 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'cwfs_wouth','INT',0)
555 :
556 :
557 : !###########################################################
558 : !### 03. Print all the input variables (D)
559 : !##
560 :
561 29986 : dprarr(1,:)=dtsets(:)%ddamp
562 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ddamp','DPR',0)
563 :
564 29986 : do idtset=0,ndtset_alloc
565 106372 : intarr(1:3,idtset)=dtsets(idtset)%ddb_ngqpt
566 : end do
567 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'ddb_ngqpt','INT',0)
568 :
569 29986 : dprarr(1,:)=dtsets(:)%ddb_shiftq(1)
570 29986 : dprarr(2,:)=dtsets(:)%ddb_shiftq(2)
571 29986 : dprarr(3,:)=dtsets(:)%ddb_shiftq(3)
572 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'ddb_shiftq','DPR',0)
573 :
574 29986 : intarr(1,:)=dtsets(:)%delayperm
575 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'delayperm','INT',0)
576 :
577 29986 : intarr(1,:)=dtsets(:)%densfor_pred
578 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'densfor_pred','INT',0)
579 :
580 : !densty
581 : narr=mxvals%ntypat ! default size for all datasets
582 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
583 25462 : narrm(idtset)=dtsets(idtset)%ntypat
584 25462 : if(idtset==0)narrm(idtset)=mxvals%ntypat
585 : ! Only one component of densty is used until now
586 62144 : dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%densty(1:narrm(idtset),1)
587 : end do
588 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'densty','DPR',multivals%ntypat)
589 :
590 29986 : dprarr(1,:)=dtsets(:)%dfield(1)
591 29986 : dprarr(2,:)=dtsets(:)%dfield(2)
592 29986 : dprarr(3,:)=dtsets(:)%dfield(3)
593 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'dfield','DPR',0)
594 :
595 29986 : dprarr(1,:)=dtsets(:)%dfpt_sciss
596 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dfpt_sciss','ENE',0)
597 :
598 29986 : dprarr(1,:)=dtsets(:)%diecut
599 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diecut','ENE',0)
600 :
601 29986 : dprarr(1,:)=dtsets(:)%diegap
602 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diegap','ENE',0)
603 :
604 29986 : dprarr(1,:)=dtsets(:)%dielam
605 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dielam','DPR',0)
606 :
607 29986 : dprarr(1,:)=dtsets(:)%dielng
608 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dielng','LEN',0)
609 :
610 29986 : dprarr(1,:)=dtsets(:)%diemac
611 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diemac','DPR',0)
612 :
613 29986 : dprarr(1,:)=dtsets(:)%diemix
614 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diemix','DPR',0)
615 :
616 25398 : if (any(dtsets(1:ndtset_alloc)%diemixmag/=dtsets(1:ndtset_alloc)%diemix)) then
617 136 : dprarr(1,:)=dtsets(:)%diemixmag
618 28 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diemixmag','DPR',0)
619 : end if
620 :
621 29986 : intarr(1,:)=dtsets(:)%diismemory
622 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'diismemory','INT',0)
623 :
624 29986 : dprarr(1,:)=dtsets(:)%dilatmx
625 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dilatmx','DPR',0)
626 :
627 29986 : intarr(1,:)=dtsets(:)%dipdip
628 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dipdip','INT',0)
629 :
630 29986 : intarr(1,:)=dtsets(:)%dipquad
631 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dipquad','INT',0)
632 :
633 : !dmatpawu
634 4524 : if (dmatpuflag==1.and.mxvals%natpawu>0) then
635 284 : prtimg(:,:)=1
636 160 : do idtset=0,ndtset_alloc
637 124 : mxnsp=max(dtsets(idtset)%nsppol,dtsets(idtset)%nspinor)
638 344 : lpawu1=maxval(dtsets(idtset)%lpawu(:))
639 124 : narrm(idtset)=((2*lpawu1+1)**2)*mxnsp*dtsets(idtset)%natpawu
640 284 : do iimage=1,nimagem(idtset)
641 248 : if (narrm(idtset)>0) then
642 : dprarr_images(1:narrm(idtset),iimage,idtset)= &
643 : & reshape(dtsets(idtset)%dmatpawu(&
644 : & 1:2*lpawu1+1,1:2*lpawu1+1,1:mxnsp,1:dtsets(idtset)%natpawu,iimage),&
645 168 : & (/narrm(idtset)/))
646 : end if
647 : end do
648 : end do
649 : call prttagm_images(dprarr_images,iout,jdtset_,5,marr,narrm,&
650 36 : ncid,ndtset_alloc,'dmatpawu','DPR',mxvals%nimage,nimagem,ndtset,prtimg,strimg)
651 : end if
652 :
653 29986 : intarr(1,:)=dtsets(:)%dmatpuopt
654 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmatpuopt','INT',0)
655 :
656 29986 : intarr(1,:)=dtsets(:)%dmatudiag
657 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmatudiag','INT',0)
658 :
659 29986 : intarr(1,:)=dtsets(:)%dmftbandf
660 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftbandf','INT',0)
661 :
662 29986 : intarr(1,:)=dtsets(:)%dmftbandi
663 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftbandi','INT',0)
664 :
665 29986 : dprarr(1,:)=dtsets(:)%dmft_charge_prec
666 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_charge_prec','DPR',0)
667 :
668 29986 : intarr(1,:)=dtsets(:)%dmftcheck
669 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftcheck','INT',0)
670 :
671 29986 : intarr(1,:)=dtsets(:)%dmftctqmc_basis
672 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftctqmc_basis','INT',0)
673 :
674 29986 : intarr(1,:)=dtsets(:)%dmftctqmc_meas
675 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftctqmc_meas','INT',0)
676 :
677 29986 : dprarr(1,:)=dtsets(:)%dmftctqmc_chains
678 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftctqmc_chains','INT',0,firstchar="-")
679 :
680 29986 : intarr(1,:)=dtsets(:)%dmft_dc
681 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_dc','INT',0)
682 :
683 29986 : dprarr(1,:)=dtsets(:)%dmft_fermi_step
684 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_fermi_step','DPR',0)
685 :
686 29986 : intarr(1,:)=dtsets(:)%dmft_iter
687 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_iter','INT',0)
688 :
689 : ! intarr(1,:)=dtsets(:)%dmft_kspectralfunc
690 : ! call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_kspectralfunc','INT',0)
691 :
692 29986 : dprarr(1,:)=dtsets(:)%dmft_mxsf
693 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_mxsf','DPR',0)
694 :
695 : !narr=mxvals%natom ! default size for all datasets
696 : !do idtset=0,ndtset_alloc ! specific size for each dataset
697 : ! narrm(idtset)=dtsets(idtset)%natom
698 : ! if(idtset==0)narrm(idtset)=mxvals%natom
699 : ! if (narrm(idtset)>0) intarr(1:narrm(idtset),idtset)=dtsets(idtset)%dmft_nominal(1:narrm(idtset))
700 : !end do
701 : !call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'dmft_nominal','INT',multivals%natom)
702 :
703 29986 : intarr(1,:)=dtsets(:)%dmft_nwli
704 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_nwli','INT',0)
705 :
706 29986 : intarr(1,:)=dtsets(:)%dmft_nwlo
707 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_nwlo','INT',0)
708 :
709 29986 : intarr(1,:)=dtsets(:)%dmft_occnd_imag
710 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_occnd_imag','INT',0)
711 :
712 : narr=mxvals%ntypat ! default size for all datasets
713 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
714 25462 : narrm(idtset)=dtsets(idtset)%ntypat
715 25462 : if(idtset==0)narrm(idtset)=mxvals%ntypat
716 62144 : if (narrm(idtset)>0) intarr(1:narrm(idtset),idtset)=dtsets(idtset)%dmft_orbital(1:narrm(idtset))
717 : end do
718 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'dmft_orbital','INT',multivals%ntypat)
719 :
720 29986 : intarr(1,:)=dtsets(:)%dmft_prt_maxent
721 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_prt_maxent','INT',0)
722 :
723 29986 : intarr(1,:)=dtsets(:)%dmft_prtself
724 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_prtself','INT',0)
725 :
726 29986 : intarr(1,:)=dtsets(:)%dmft_prtwan
727 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_prtwan','INT',0)
728 :
729 29986 : intarr(1,:)=dtsets(:)%dmftqmc_l
730 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftqmc_l','INT',0)
731 :
732 29986 : dprarr(1,:)=dtsets(:)%dmftqmc_n
733 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftqmc_n','DPR',0)
734 :
735 29986 : intarr(1,:)=dtsets(:)%dmftqmc_therm
736 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftqmc_therm','INT',0)
737 :
738 29986 : intarr(1,:)=dtsets(:)%dmft_read_occnd
739 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_read_occnd','INT',0)
740 :
741 29986 : intarr(1,:)=dtsets(:)%dmft_rslf
742 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_rslf','INT',0)
743 :
744 4524 : narr=mxvals%natom ! default size for all datasets
745 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
746 25462 : narrm(idtset)=dtsets(idtset)%natom
747 25462 : if(idtset==0)narrm(idtset)=mxvals%natom
748 136360 : if (narrm(idtset)>0) dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%dmft_shiftself(1:narrm(idtset))
749 : end do
750 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'dmft_shiftself','DPR',multivals%natom)
751 :
752 29986 : intarr(1,:)=dtsets(:)%dmft_solv
753 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_solv','INT',0)
754 :
755 29986 : intarr(1,:)=dtsets(:)%dmft_t2g
756 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_t2g','INT',0)
757 :
758 29986 : dprarr(1,:)=dtsets(:)%dmft_tolfreq
759 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_tolfreq','DPR',0)
760 :
761 29986 : dprarr(1,:)=dtsets(:)%dmft_tollc
762 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_tollc','DPR',0)
763 :
764 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_basis
765 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_basis','INT',0)
766 :
767 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_compute_integral
768 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_compu','INT',0)
769 :
770 29986 : dprarr(1,:)=dtsets(:)%dmft_triqs_dlr_epsilon
771 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_dlr_e','DPR',0)
772 :
773 29986 : dprarr(1,:)=dtsets(:)%dmft_triqs_dlr_wmax
774 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_dlr_w','DPR',0)
775 :
776 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_entropy
777 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_entro','INT',0)
778 :
779 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_gaussorder
780 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_gauss','INT',0)
781 :
782 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_length_cycle
783 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_lengt','INT',0)
784 :
785 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_n_cycles
786 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_cyc','INT',0)
787 :
788 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_n_iw
789 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_iw','INT',0)
790 :
791 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_n_l
792 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_l','INT',0)
793 :
794 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_n_tau
795 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_tau','INT',0)
796 :
797 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_n_warmup_cycles_init
798 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_wai','INT',0)
799 :
800 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_n_warmup_cycles_restart
801 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_war','INT',0)
802 :
803 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_nsubdivisions
804 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_nsubd','INT',0)
805 :
806 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_off_diag
807 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_off_d','INT',0)
808 :
809 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_prt_entropy
810 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_prt_e','INT',0)
811 :
812 29986 : intarr(1,:)=dtsets(:)%dmft_triqs_read_ctqmcdata
813 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_readc','INT',0)
814 :
815 29986 : dprarr(1,:)=dtsets(:)%dmft_triqs_shift_mu
816 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_shifm','DPR',0)
817 :
818 29986 : dprarr(1,:)=dtsets(:)%dmft_triqs_tol_block
819 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_tol_b','DPR',0)
820 :
821 29986 : intarr(1,:)=dtsets(:)%dmft_full_chipsi
822 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_full_chipsi','INT',0)
823 :
824 29986 : intarr(1,:)=dtsets(:)%dmft_wanorthnorm
825 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_wanorthnorm','INT',0)
826 :
827 29986 : dprarr(1,:)=dtsets(:)%dmft_wanrad
828 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_wanrad','DPR',0)
829 :
830 29986 : intarr(1,:)=dtsets(:)%dmft_x2my2d
831 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_x2my2d','INT',0)
832 :
833 29986 : dprarr(1,:)=dtsets(:)%dmft_yukawa_epsilon
834 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_yukawa_eps','DPR',0)
835 :
836 29986 : dprarr(1,:)=dtsets(:)%dmft_yukawa_lambda
837 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_yukawa_lam','DPR',0)
838 :
839 29986 : intarr(1,:)=dtsets(:)%dmft_yukawa_param
840 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_yukawa_par','INT',0)
841 :
842 29986 : dprarr(1,:)=dtsets(:)%dosdeltae
843 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dosdeltae','ENE',0)
844 :
845 29986 : dprarr(1,:)=dtsets(:)%dtion
846 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dtion','DPR',0,forceprint=2)
847 :
848 29986 : dprarr(1,:)=dtsets(:)%dtele
849 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dtele','DPR',0,forceprint=2)
850 :
851 29986 : intarr(1,:)=dtsets(:)%dvdb_add_lr
852 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dvdb_add_lr','INT',0)
853 :
854 29986 : dprarr(1,:)=dtsets(:)%dvdb_qdamp
855 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dvdb_qdamp','DPR',0)
856 :
857 29986 : intarr(1,:)=dtsets(:)%dvdb_rspace_cell
858 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dvdb_rspace_cell','INT',0)
859 :
860 : !dynimage
861 4409052 : intarr(1:marr,0)=1 ! default value
862 4524 : narr=nimage ! default size for all datasets
863 25462 : do idtset=1,ndtset_alloc ! specific size and array for each dataset
864 20938 : narrm(idtset)=dtsets(idtset)%nimage
865 47152 : intarr(1:narrm(idtset),idtset)=dtsets(idtset)%dynimage(1:narrm(idtset))
866 : end do
867 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'dynimage','INT',multivals%nimage)
868 :
869 : !Variables for nonlinear response
870 4524 : test_write=0
871 25462 : do idtset=1,ndtset_alloc
872 25462 : if(dtsets(idtset)%d3e_pert1_atpol(1)/=1 .or. dtsets(idtset)%d3e_pert1_atpol(2)/=dtsets(idtset)%natom)test_write=1
873 : enddo
874 4524 : if(test_write==1)then
875 192 : intarr(1,:)=dtsets(:)%d3e_pert1_atpol(1)
876 192 : intarr(2,:)=dtsets(:)%d3e_pert1_atpol(2)
877 20 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert1_atpol','INT',0)
878 : endif
879 :
880 29986 : intarr(1,:)=dtsets(:)%d3e_pert1_dir(1)
881 29986 : intarr(2,:)=dtsets(:)%d3e_pert1_dir(2)
882 29986 : intarr(3,:)=dtsets(:)%d3e_pert1_dir(3)
883 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert1_dir','INT',0)
884 :
885 29986 : intarr(1,:)=dtsets(:)%d3e_pert1_elfd
886 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert1_elfd','INT',0)
887 :
888 4524 : test_write=0
889 25462 : do idtset=1,ndtset_alloc
890 25462 : if(dtsets(idtset)%d3e_pert1_magat(1)/=1 .or. dtsets(idtset)%d3e_pert1_magat(2)/=dtsets(idtset)%natom)test_write=1
891 : enddo
892 4524 : if(test_write==1)then
893 40 : intarr(1,:)=dtsets(:)%d3e_pert1_magat(1)
894 40 : intarr(2,:)=dtsets(:)%d3e_pert1_magat(2)
895 8 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert1_magat','INT',0)
896 : endif
897 :
898 29986 : intarr(1,:)=dtsets(:)%d3e_pert1_magdir(1)
899 29986 : intarr(2,:)=dtsets(:)%d3e_pert1_magdir(2)
900 29986 : intarr(3,:)=dtsets(:)%d3e_pert1_magdir(3)
901 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert1_magdir','INT',0)
902 :
903 29986 : intarr(1,:)=dtsets(:)%d3e_pert1_magn
904 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert1_magn','INT',0)
905 :
906 29986 : intarr(1,:)=dtsets(:)%d3e_pert1_phon
907 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert1_phon','INT',0)
908 :
909 4524 : test_write=0
910 25462 : do idtset=1,ndtset_alloc
911 25462 : if(dtsets(idtset)%d3e_pert2_atpol(1)/=1 .or. dtsets(idtset)%d3e_pert2_atpol(2)/=dtsets(idtset)%natom)test_write=1
912 : enddo
913 4524 : if(test_write==1)then
914 76 : intarr(1,:)=dtsets(:)%d3e_pert2_atpol(1)
915 76 : intarr(2,:)=dtsets(:)%d3e_pert2_atpol(2)
916 12 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert2_atpol','INT',0)
917 : endif
918 :
919 29986 : intarr(1,:)=dtsets(:)%d3e_pert2_dir(1)
920 29986 : intarr(2,:)=dtsets(:)%d3e_pert2_dir(2)
921 29986 : intarr(3,:)=dtsets(:)%d3e_pert2_dir(3)
922 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert2_dir','INT',0)
923 :
924 29986 : intarr(1,:)=dtsets(:)%d3e_pert2_elfd
925 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_elfd','INT',0)
926 :
927 4524 : test_write=0
928 25462 : do idtset=1,ndtset_alloc
929 25462 : if(dtsets(idtset)%d3e_pert2_magat(1)/=1 .or. dtsets(idtset)%d3e_pert2_magat(2)/=dtsets(idtset)%natom)test_write=1
930 : enddo
931 4524 : if(test_write==1)then
932 40 : intarr(1,:)=dtsets(:)%d3e_pert2_magat(1)
933 40 : intarr(2,:)=dtsets(:)%d3e_pert2_magat(2)
934 8 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert2_magat','INT',0)
935 : endif
936 :
937 29986 : intarr(1,:)=dtsets(:)%d3e_pert2_magdir(1)
938 29986 : intarr(2,:)=dtsets(:)%d3e_pert2_magdir(2)
939 29986 : intarr(3,:)=dtsets(:)%d3e_pert2_magdir(3)
940 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert2_magdir','INT',0)
941 :
942 29986 : intarr(1,:)=dtsets(:)%d3e_pert2_magn
943 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_magn','INT',0)
944 :
945 29986 : intarr(1,:)=dtsets(:)%d3e_pert2_phon
946 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_phon','INT',0)
947 :
948 29986 : intarr(1,:)=dtsets(:)%d3e_pert2_strs
949 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_strs','INT',0)
950 :
951 4524 : test_write=0
952 25462 : do idtset=1,ndtset_alloc
953 25462 : if(dtsets(idtset)%d3e_pert3_atpol(1)/=1 .or. dtsets(idtset)%d3e_pert3_atpol(2)/=dtsets(idtset)%natom)test_write=1
954 : enddo
955 4524 : if(test_write==1)then
956 36 : intarr(1,:)=dtsets(:)%d3e_pert3_atpol(1)
957 36 : intarr(2,:)=dtsets(:)%d3e_pert3_atpol(2)
958 4 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert3_atpol','INT',0)
959 : endif
960 :
961 29986 : intarr(1,:)=dtsets(:)%d3e_pert3_dir(1)
962 29986 : intarr(2,:)=dtsets(:)%d3e_pert3_dir(2)
963 29986 : intarr(3,:)=dtsets(:)%d3e_pert3_dir(3)
964 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert3_dir','INT',0)
965 :
966 29986 : intarr(1,:)=dtsets(:)%d3e_pert3_elfd
967 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert3_elfd','INT',0)
968 :
969 29986 : intarr(1,:)=dtsets(:)%d3e_pert3_phon
970 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert3_phon','INT',0)
971 :
972 : !###########################################################
973 : !### 03. Print all the input variables (E)
974 : !##
975 :
976 29986 : dprarr(1,:)=dtsets(:)%ecut
977 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecut','ENE',0)
978 :
979 29986 : dprarr(1,:)=dtsets(:)%ecuteps
980 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecuteps','ENE',0)
981 :
982 29986 : dprarr(1,:)=dtsets(:)%ecutsigx
983 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecutsigx','ENE',0)
984 :
985 29986 : dprarr(1,:)=dtsets(:)%ecutsm
986 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecutsm','ENE',0)
987 :
988 29986 : dprarr(1,:)=dtsets(:)%ecutwfn
989 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecutwfn','ENE',0)
990 :
991 29986 : dprarr(1,:)=dtsets(:)%effmass_free
992 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'effmass_free','DPR',0)
993 :
994 29986 : dprarr(1,:)=dtsets(:)%efield(1)
995 29986 : dprarr(2,:)=dtsets(:)%efield(2)
996 29986 : dprarr(3,:)=dtsets(:)%efield(3)
997 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'efield','DPR',0)
998 :
999 4524 : nn = size(dtsets(0)%einterp)
1000 22620 : do ii=1,nn
1001 124468 : dprarr(ii,:)=dtsets(:)%einterp(ii)
1002 : end do
1003 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,nn,narrm,ncid,ndtset_alloc,'einterp','DPR',0)
1004 :
1005 29986 : dprarr(1,:)=dtsets(:)%elph2_imagden
1006 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'elph2_imagden','ENE',0)
1007 :
1008 29986 : intarr(1,:)=dtsets(:)%enunit
1009 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'enunit','INT',0)
1010 :
1011 29986 : intarr(1,:)=dtsets(:)%eph_ahc_type
1012 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_ahc_type','INT',0)
1013 :
1014 29986 : intarr(1,:)=dtsets(:)%eph_path_brange(1)
1015 29986 : intarr(2,:)=dtsets(:)%eph_path_brange(2)
1016 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'eph_path_brange','INT',0)
1017 :
1018 29986 : dprarr(1,:)=dtsets(:)%eph_ecutosc
1019 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_ecutosc','ENE',0)
1020 :
1021 29986 : dprarr(1,:)=dtsets(:)%eph_phwinfact
1022 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_phwinfact','DPR',0)
1023 :
1024 29986 : dprarr(1,:)=dtsets(:)%eph_extrael
1025 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_extrael','DPR',0)
1026 :
1027 29986 : dprarr(1,:)=dtsets(:)%eph_fermie
1028 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_fermie','ENE',0)
1029 :
1030 29986 : intarr(1,:)=dtsets(:)%eph_frohlichm
1031 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_frohlichm','INT',0)
1032 :
1033 29986 : intarr(1,:)=dtsets(:)%eph_frohl_ntheta
1034 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_frohl_ntheta','INT',0)
1035 :
1036 29986 : dprarr(1,:)=dtsets(:)%eph_fsewin
1037 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_fsewin','ENE',0)
1038 :
1039 29986 : dprarr(1,:)=dtsets(:)%eph_fsmear
1040 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_fsmear','ENE',0)
1041 :
1042 29986 : intarr(1,:)=dtsets(:)%eph_intmeth
1043 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_intmeth','INT',0)
1044 :
1045 29986 : dprarr(1,:)=dtsets(:)%eph_mustar
1046 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_mustar','DPR',0)
1047 :
1048 29986 : do idtset=0,ndtset_alloc
1049 106372 : intarr(1:3,idtset)=dtsets(idtset)%eph_ngkpt_fine
1050 : end do
1051 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'eph_ngkpt_fine','INT',0)
1052 :
1053 29986 : do idtset=0,ndtset_alloc
1054 106372 : intarr(1:3,idtset)=dtsets(idtset)%eph_ngqpt_fine
1055 : end do
1056 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'eph_ngqpt_fine','INT',0)
1057 :
1058 29986 : intarr(1,:)=dtsets(:)%eph_nshiftk_fine
1059 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_nshiftk_fine','INT',0)
1060 :
1061 29986 : narr = 3 * maxval(dtsets(:)%eph_nshiftk_fine)
1062 106372 : dprarr(1:narr,:) = zero
1063 29986 : do idtset=0,ndtset_alloc
1064 29986 : if (allocated(dtsets(idtset)%eph_shiftk_fine)) then
1065 : dprarr(1:3*dtsets(idtset)%eph_nshiftk_fine,idtset) = reshape(dtsets(idtset)%eph_shiftk_fine, &
1066 41876 : [3*dtsets(idtset)%eph_nshiftk_fine])
1067 : end if
1068 : end do
1069 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'eph_shiftk_fine','DPR',0)
1070 :
1071 4524 : narr = size(dtsets(0)%eph_np_pqbks)
1072 29986 : do idtset=0,ndtset_alloc
1073 157296 : intarr(1:narr,idtset) = dtsets(idtset)%eph_np_pqbks
1074 : end do
1075 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'eph_np_pqbks','INT',0, firstchar="-")
1076 :
1077 4524 : narr = size(dtsets(0)%gwpt_np_wpqbks)
1078 29986 : do idtset=0,ndtset_alloc
1079 182758 : intarr(1:narr,idtset) = dtsets(idtset)%gwpt_np_wpqbks
1080 : end do
1081 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gwpt_np_wpqbks','INT',0, firstchar="-")
1082 :
1083 29986 : intarr(1,:)=dtsets(:)%eph_phrange(1)
1084 29986 : intarr(2,:)=dtsets(:)%eph_phrange(2)
1085 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_phrange','INT',0)
1086 :
1087 29986 : dprarr(1,:)=dtsets(:)%eph_phrange_w(1)
1088 29986 : dprarr(2,:)=dtsets(:)%eph_phrange_w(2)
1089 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_phrange_w','ENE',0)
1090 :
1091 29986 : intarr(1,:)=dtsets(:)%eph_prtscratew
1092 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_prtscratew','INT',0)
1093 :
1094 29986 : intarr(1,:)=dtsets(:)%eph_restart
1095 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_restart','INT',0)
1096 :
1097 29986 : intarr(1,:)=dtsets(:)%eph_stern
1098 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_stern','INT',0)
1099 :
1100 29986 : intarr(1,:)=dtsets(:)%eph_task
1101 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_task','INT',0)
1102 :
1103 29986 : dprarr(1,:)=dtsets(:)%eph_tols_idelta(1)
1104 29986 : dprarr(2,:)=dtsets(:)%eph_tols_idelta(2)
1105 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_tols_idelta','DPR',0)
1106 :
1107 29986 : do idtset=0,ndtset_alloc
1108 106372 : dprarr(1:3,idtset)=dtsets(idtset)%eph_fix_wavevec(:)
1109 : end do
1110 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_fix_wavevec','DPR',0)
1111 :
1112 29986 : intarr(1,:)=dtsets(:)%eph_transport
1113 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_transport','INT',0)
1114 :
1115 29986 : intarr(1,:)=dtsets(:)%eph_use_ftinterp
1116 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_use_ftinterp','INT',0)
1117 :
1118 29986 : dprarr(1,:)=dtsets(:)%eshift
1119 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eshift','ENE',0)
1120 :
1121 29986 : dprarr(1,:)=dtsets(:)%esmear
1122 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'esmear','ENE',0)
1123 :
1124 : !etotal
1125 4524 : if(choice==2)then
1126 24872 : prtimg(:,:)=1
1127 13244 : do idtset=0,ndtset_alloc ! specific size for each dataset
1128 11018 : compute_static_images=(dtsets(idtset)%istatimg>0)
1129 11018 : narrm(idtset)=1
1130 :
1131 13244 : if(dtsets(idtset)%iscf>=0 .or. dtsets(idtset)%iscf==-3)then
1132 20592 : do iimage=1,dtsets(idtset)%nimage
1133 : if (narrm(idtset)>0) then
1134 20968 : dprarr_images(1:narrm(idtset),iimage,idtset)=results_out(idtset)%etotal(iimage)
1135 : end if
1136 20592 : if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
1137 8 : prtimg(iimage,idtset)=0
1138 : end if
1139 : end do
1140 : else
1141 910 : narrm(idtset)=0
1142 : end if
1143 : end do
1144 : ! This is a trick to force printing of etotal even if zero, still not destroying the value of nimagem(0).
1145 2226 : tmpimg0=nimagem(0)
1146 2226 : nimagem(0)=0
1147 : call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'etotal','DPR',&
1148 2226 : mxvals%nimage,nimagem,ndtset,prtimg,strimg)
1149 2226 : nimagem(0)=tmpimg0
1150 : end if
1151 :
1152 29986 : dprarr(1,:)=dtsets(:)%exchmix
1153 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'exchmix','DPR',0)
1154 :
1155 29986 : intarr(1,:)=dtsets(:)%exchn2n3d
1156 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'exchn2n3d','INT',0)
1157 :
1158 29986 : intarr(1,:)=dtsets(:)%extrapwf
1159 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extrapwf','INT',0)
1160 :
1161 29986 : intarr(1,:)=dtsets(:)%expert_user
1162 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'expert_user','INT',0)
1163 :
1164 : !###########################################################
1165 : !### 03. Print all the input variables (F)
1166 : !##
1167 :
1168 : !fcart
1169 4524 : if(choice==2)then
1170 24872 : prtimg(:,:)=1
1171 13244 : do idtset=0,ndtset_alloc ! specific size for each dataset
1172 11018 : compute_static_images=(dtsets(idtset)%istatimg>0)
1173 11018 : size2=dtsets(idtset)%natom
1174 11018 : if(idtset==0)size2=0
1175 11018 : narrm(idtset)=3*size2
1176 13244 : if(dtsets(idtset)%iscf>=0 .or. idtset==0)then
1177 19920 : do iimage=1,dtsets(idtset)%nimage
1178 10148 : if (narrm(idtset)>0) then
1179 : dprarr_images(1:narrm(idtset),iimage,idtset)=&
1180 15844 : & reshape(results_out(idtset)%fcart(1:3,1:size2,iimage),(/ narrm(idtset) /) )
1181 : end if
1182 19920 : if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
1183 8 : prtimg(iimage,idtset)=0
1184 : end if
1185 : end do
1186 : else
1187 1246 : narrm(idtset)=0
1188 : end if
1189 : end do
1190 : ! This is a trick to force printing of fcart even if zero, still not destroying the value of nimagem(0).
1191 2226 : tmpimg0=nimagem(0)
1192 2226 : nimagem(0)=0
1193 : call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'fcart','DPR',&
1194 2226 : mxvals%nimage,nimagem,ndtset,prtimg,strimg)
1195 2226 : nimagem(0)=tmpimg0
1196 : end if
1197 :
1198 29986 : dprarr(1,:)=dtsets(:)%fermie_nest
1199 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'fermie_nest','DPR',0)
1200 :
1201 29986 : intarr(1,:)=dtsets(:)%ffnl_lw
1202 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ffnl_lw','INT',0)
1203 :
1204 4524 : firstchar_fftalg = "_"
1205 29986 : intarr(1,:)=dtsets(:)%ngfft(7)
1206 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fftalg','INT',0,firstchar="-",forceprint=3)
1207 :
1208 29986 : intarr(1,:)=dtsets(:)%ngfft(8)
1209 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fftcache','INT',0)
1210 :
1211 29986 : intarr(1,:)=dtsets(:)%fftgw
1212 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fftgw','INT',0)
1213 :
1214 29986 : intarr(1,:)=dtsets(:)%fft_count
1215 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fft_count','INT',0)
1216 :
1217 29986 : intarr(1,:)=dtsets(:)%fockoptmix
1218 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fockoptmix','INT',0)
1219 :
1220 29986 : dprarr(1,:)=dtsets(:)%focktoldfe
1221 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'focktoldfe','DPR',0)
1222 :
1223 29986 : intarr(1,:)=dtsets(:)%fockdownsampling(1)
1224 29986 : intarr(2,:)=dtsets(:)%fockdownsampling(2)
1225 29986 : intarr(3,:)=dtsets(:)%fockdownsampling(3)
1226 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'fockdownsampling','INT',0)
1227 :
1228 29986 : intarr(1,:)=dtsets(:)%fock_icutcoul
1229 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fock_icutcoul','INT',0)
1230 :
1231 29986 : dprarr(1,:)=dtsets(:)%fock_rcut
1232 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'fock_rcut','LEN',0)
1233 :
1234 29986 : dprarr(1,:)=dtsets(:)%freqim_alpha
1235 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqim_alpha','DPR',0)
1236 :
1237 29986 : dprarr(1,:)=dtsets(:)%freqremax
1238 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqremax','ENE',0)
1239 :
1240 29986 : dprarr(1,:)=dtsets(:)%freqremin
1241 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqremin','ENE',0)
1242 :
1243 29986 : dprarr(1,:)=dtsets(:)%freqspmax
1244 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqspmax','ENE',0)
1245 :
1246 29986 : dprarr(1,:)=dtsets(:)%freqspmin
1247 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqspmin','ENE',0)
1248 :
1249 29986 : dprarr(1,:)=dtsets(:)%friction
1250 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'friction','DPR',0)
1251 :
1252 29986 : dprarr(1,:)=dtsets(:)%frictionbar
1253 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'frictionbar','DPR',0)
1254 :
1255 29986 : intarr(1,:)=dtsets(:)%frzfermi
1256 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'frzfermi','INT',0)
1257 :
1258 29986 : dprarr(1,:)=dtsets(:)%fxcartfactor
1259 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'fxcartfactor','DPR',0)
1260 :
1261 : !f4of2_sla
1262 4524 : narr=mxvals%ntypat ! default size for all datasets
1263 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
1264 25462 : narrm(idtset)=dtsets(idtset)%ntypat
1265 25462 : if(idtset==0)narrm(idtset)=mxvals%ntypat
1266 29986 : if (narrm(idtset)>0) then
1267 57620 : dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%f4of2_sla(1:narrm(idtset))
1268 : end if
1269 : end do
1270 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'f4of2_sla','DPR',multivals%ntypat)
1271 :
1272 : !f6of2_sla
1273 : narr=mxvals%ntypat ! default size for all datasets
1274 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
1275 25462 : narrm(idtset)=dtsets(idtset)%ntypat
1276 25462 : if(idtset==0)narrm(idtset)=mxvals%ntypat
1277 29986 : if (narrm(idtset)>0) then
1278 57620 : dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%f6of2_sla(1:narrm(idtset))
1279 : end if
1280 : end do
1281 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'f6of2_sla','DPR',multivals%ntypat)
1282 :
1283 : !###########################################################
1284 : !### 03. Print all the input variables (G)
1285 : !##
1286 :
1287 29986 : intarr(1,:)=dtsets(:)%ga_algor
1288 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_algor','INT',0)
1289 :
1290 29986 : intarr(1,:)=dtsets(:)%ga_fitness
1291 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_fitness','INT',0)
1292 :
1293 29986 : intarr(1,:)=dtsets(:)%ga_n_rules
1294 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_n_rules','INT',0)
1295 :
1296 29986 : dprarr(1,:)=dtsets(:)%ga_opt_percent
1297 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_opt_percent','DPR',0)
1298 :
1299 : !ga_rules
1300 4524 : narr=ga_n_rules ! default size for all datasets
1301 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
1302 25462 : narrm(idtset)=dtsets(idtset)%ga_n_rules
1303 25462 : if(idtset==0)narrm(idtset)=mxvals%ga_n_rules
1304 55472 : intarr(1:narrm(idtset),idtset)=dtsets(idtset)%ga_rules(1:narrm(idtset))
1305 : end do
1306 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'ga_rules','INT',multivals%ga_n_rules)
1307 :
1308 29986 : intarr(1,:)=dtsets(:)%getabiwan
1309 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getabiwan','INT',0)
1310 :
1311 29986 : intarr(1,:)=dtsets(:)%getgwan
1312 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getgwan','INT',0)
1313 :
1314 29986 : intarr(1,:)=dtsets(:)%getbscoup
1315 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getbscoup','INT',0)
1316 :
1317 29986 : intarr(1,:)=dtsets(:)%getbseig
1318 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getbseig','INT',0)
1319 :
1320 29986 : intarr(1,:)=dtsets(:)%getbsreso
1321 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getbsreso','INT',0)
1322 :
1323 29986 : intarr(1,:)=dtsets(:)%getcell
1324 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getcell','INT',0)
1325 :
1326 29986 : intarr(1,:)=dtsets(:)%getctqmcdata
1327 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getctqmcdata','INT',0)
1328 :
1329 29986 : intarr(1,:)=dtsets(:)%getddb
1330 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getddb','INT',0)
1331 :
1332 29986 : intarr(1,:)=dtsets(:)%getddk
1333 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getddk','INT',0)
1334 :
1335 29986 : intarr(1,:)=dtsets(:)%getdelfd
1336 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdelfd','INT',0)
1337 :
1338 29986 : intarr(1,:)=dtsets(:)%getdkdk
1339 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdkdk','INT',0)
1340 :
1341 29986 : intarr(1,:)=dtsets(:)%getdkde
1342 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdkde','INT',0)
1343 :
1344 29986 : intarr(1,:)=dtsets(:)%getden
1345 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getden','INT',0)
1346 :
1347 29986 : intarr(1,:)=dtsets(:)%getdvdb
1348 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdvdb','INT',0)
1349 :
1350 29986 : intarr(1,:)=dtsets(:)%getdrhodb
1351 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdrhodb','INT',0)
1352 :
1353 29986 : intarr(1,:)=dtsets(:)%getefmas
1354 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getefmas','INT',0)
1355 :
1356 29986 : intarr(1,:)=dtsets(:)%getgam_eig2nkq
1357 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getgam_eig2nkq','INT',0)
1358 :
1359 29986 : intarr(1,:)=dtsets(:)%gethaydock
1360 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gethaydock','INT',0)
1361 :
1362 29754 : if (any(dtsets(:)%usekden==1)) then
1363 412 : intarr(1,:)=dtsets(:)%getkden
1364 84 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getkden','INT',0)
1365 : end if
1366 :
1367 29986 : intarr(1,:)=dtsets(:)%getocc
1368 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getocc','INT',0)
1369 :
1370 29986 : intarr(1,:)=dtsets(:)%getpawden
1371 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getpawden','INT',0)
1372 :
1373 29986 : intarr(1,:)=dtsets(:)%getqps
1374 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getqps','INT',0)
1375 :
1376 29986 : intarr(1,:)=dtsets(:)%getscr
1377 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getscr','INT',0)
1378 :
1379 29986 : intarr(1,:)=dtsets(:)%getself
1380 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getself','INT',0)
1381 :
1382 29986 : intarr(1,:)=dtsets(:)%getsuscep
1383 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getsuscep','INT',0)
1384 :
1385 29986 : intarr(1,:)=dtsets(:)%getvpq
1386 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getvpq','INT',0)
1387 :
1388 29986 : intarr(1,:)=dtsets(:)%getvel
1389 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getvel','INT',0)
1390 :
1391 29986 : intarr(1,:)=dtsets(:)%getwfk
1392 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfk','INT',0)
1393 :
1394 29986 : intarr(1,:)=dtsets(:)%getwfkfine
1395 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfkfine','INT',0)
1396 :
1397 29986 : intarr(1,:)=dtsets(:)%getwfmq
1398 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfmq','INT',0)
1399 :
1400 29986 : intarr(1,:)=dtsets(:)%getwfq
1401 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfq','INT',0)
1402 :
1403 29986 : intarr(1,:)=dtsets(:)%getxcart
1404 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getxcart','INT',0)
1405 :
1406 29986 : intarr(1,:)=dtsets(:)%getxred
1407 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getxred','INT',0)
1408 :
1409 29986 : intarr(1,:)=dtsets(:)%get1den
1410 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'get1den','INT',0)
1411 :
1412 29986 : intarr(1,:)=dtsets(:)%get1wf
1413 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'get1wf','INT',0)
1414 :
1415 29986 : dprarr(1,:)=dtsets(:)%ggtrcut
1416 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ggtrcut','DPR',0)
1417 :
1418 29986 : intarr(1,:)=dtsets(:)%goprecon
1419 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'goprecon','INT',0)
1420 :
1421 29986 : dprarr(1,:)=dtsets(:)%goprecprm(1)
1422 29986 : dprarr(2,:)=dtsets(:)%goprecprm(2)
1423 29986 : dprarr(3,:)=dtsets(:)%goprecprm(3)
1424 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'goprecprm','DPR',0)
1425 :
1426 29986 : if (any(dtsets(:)%gpu_option/=ABI_GPU_DISABLED)) then
1427 :
1428 0 : do ii=1,12; intarr(ii,:)=dtsets(:)%gpu_devices(ii); end do
1429 0 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,12,narrm,ncid,ndtset_alloc,'gpu_devices','INT',0,firstchar=firstchar_gpu)
1430 :
1431 0 : intarr(1,:)=dtsets(:)%gpu_nfft_blocks
1432 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_nfft_blocks','INT',0,firstchar=firstchar_gpu)
1433 :
1434 0 : intarr(1,:)=dtsets(:)%gpu_linalg_limit
1435 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_linalg_limit','INT',0)
1436 :
1437 0 : intarr(1,:)=dtsets(:)%gpu_nl_distrib
1438 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_nl_distrib','INT',0,firstchar=firstchar_gpu)
1439 :
1440 0 : intarr(1,:)=dtsets(:)%gpu_nl_splitsize
1441 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_nl_splitsize','INT',0,firstchar=firstchar_gpu)
1442 :
1443 0 : intarr(1,:)=dtsets(:)%gpu_option
1444 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_option','INT',0,firstchar=firstchar_gpu)
1445 :
1446 0 : intarr(1,:)=dtsets(:)%gpu_thread_limit
1447 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_thread_limit','INT',0,firstchar=firstchar_gpu)
1448 :
1449 0 : if (any(dtsets(:)%gpu_option/=ABI_GPU_KOKKOS)) then
1450 0 : intarr(1,:)=dtsets(:)%gpu_kokkos_nthrd
1451 0 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_kokkos_nthrd','INT',0,firstchar=firstchar_gpu)
1452 : end if
1453 :
1454 : end if
1455 :
1456 29986 : intarr(1,:) =dtsets(:)%gstore_with_vk
1457 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_with_vk','INT',0)
1458 :
1459 29986 : intarr(1,:) =dtsets(:)%gstore_iv1p_comm
1460 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_iv1p_comm','INT',0)
1461 :
1462 29986 : intarr(1,:) =dtsets(:)%gstore_use_lgk
1463 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_use_lgk','INT',0)
1464 :
1465 29986 : intarr(1,:) =dtsets(:)%gstore_use_lgq
1466 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_use_lgq','INT',0)
1467 :
1468 : !intarr(1,:) =dtsets(:)%gstore_brange(1,1)
1469 : !intarr(2,:) =dtsets(:)%gstore_brange(2,1)
1470 : !intarr(3,:) =dtsets(:)%gstore_brange(1,2)
1471 : !intarr(4,:) =dtsets(:)%gstore_brange(2,2)
1472 : !call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'gstore_brange','INT',0)
1473 :
1474 : !dprarr(1,:) =dtsets(:)%gstore_erange(1,1)
1475 : !dprarr(2,:) =dtsets(:)%gstore_erange(2,1)
1476 : !dprarr(3,:) =dtsets(:)%gstore_erange(1,2)
1477 : !dprarr(4,:) =dtsets(:)%gstore_erange(2,2)
1478 : !call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'gstore_erange','ENE',0)
1479 :
1480 29986 : dprarr(1,:)=dtsets(:)%gw_rcut
1481 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gw_rcut','LEN',0)
1482 :
1483 29986 : dprarr(1,:) = dtsets(:)%gwr_boxcutmin
1484 4524 : call prttagm(dprarr, intarr, iout, jdtset_, 1, marr, narr, narrm, ncid, ndtset_alloc, 'gwr_boxcutmin', 'DPR', 0)
1485 :
1486 29986 : dprarr(1,:) = dtsets(:)%gwr_max_hwtene
1487 4524 : call prttagm(dprarr, intarr, iout, jdtset_, 1, marr, narr, narrm, ncid, ndtset_alloc, 'gwr_max_hwtene', 'ENE', 0)
1488 :
1489 29986 : dprarr(1,:) = dtsets(:)%gwr_regterm
1490 4524 : call prttagm(dprarr, intarr, iout, jdtset_, 1, marr, narr, narrm, ncid, ndtset_alloc, 'gwr_regterm', 'DPR', 0)
1491 :
1492 4524 : narr = size(dtsets(0)%gwr_np_kgts)
1493 29986 : do idtset=0,ndtset_alloc
1494 131834 : intarr(1:narr,idtset) = dtsets(idtset)%gwr_np_kgts
1495 : end do
1496 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gwr_np_kgts','INT',0, firstchar="-")
1497 :
1498 4524 : narr = size(dtsets(0)%gwr_ucsc_batch)
1499 29986 : do idtset=0,ndtset_alloc
1500 80910 : intarr(1:narr,idtset) = dtsets(idtset)%gwr_ucsc_batch
1501 : end do
1502 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gwr_ucsc_batch','INT',0, firstchar="-")
1503 :
1504 29986 : intarr(1,:) = dtsets(:)%gwr_ntau
1505 4524 : call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_ntau', 'INT', 0)
1506 :
1507 29986 : intarr(1,:) = dtsets(:)%gwr_chi_algo
1508 4524 : call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_chi_algo', 'INT', 0)
1509 29986 : intarr(1,:) = dtsets(:)%gwr_sigma_algo
1510 4524 : call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_sigma_algo', 'INT', 0)
1511 29986 : intarr(1,:) = dtsets(:)%gwr_rpa_ncut
1512 4524 : call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_rpa_ncut', 'INT', 0)
1513 :
1514 : ! TODO
1515 : !call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_task', 'INT', 0)
1516 :
1517 : !grchrg
1518 4524 : print_constraint=0
1519 25462 : do idtset=1,ndtset_alloc
1520 51384 : if(any(dtsets(idtset)%constraint_kind(:)>=10))print_constraint=1
1521 : enddo
1522 4524 : if(print_constraint==1)then
1523 : !if(any(dtsets(1:ndtset_alloc)%constraint_kind(:)>=10))then
1524 28 : if(choice==2)then
1525 182 : prtimg(:,:)=1
1526 98 : do idtset=0,ndtset_alloc ! specific size for each dataset
1527 84 : compute_static_images=(dtsets(idtset)%istatimg>0)
1528 84 : size2=dtsets(idtset)%natom
1529 84 : if(idtset==0)size2=0
1530 84 : narrm(idtset)=size2
1531 98 : if(dtsets(idtset)%iscf>=0 .or. idtset==0)then
1532 168 : do iimage=1,dtsets(idtset)%nimage
1533 84 : if (narrm(idtset)>0) then
1534 : ! Note the minus sign, because chrgat is the ziontypat minus the electronic charge
1535 : dprarr_images(1:narrm(idtset),iimage,idtset)=&
1536 210 : & -results_out(idtset)%intgres(1,1:size2,iimage)
1537 : end if
1538 168 : if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
1539 0 : prtimg(iimage,idtset)=0
1540 : end if
1541 : end do
1542 : else
1543 0 : narrm(idtset)=0
1544 : end if
1545 : end do
1546 : ! This is a trick to force printing of fcart even if zero, still not destroying the value of nimagem(0).
1547 14 : tmpimg0=nimagem(0)
1548 14 : nimagem(0)=0
1549 : call prttagm_images(dprarr_images,iout,jdtset_,1,marr,narrm,ncid,ndtset_alloc,'grchrg','DPR',&
1550 14 : mxvals%nimage,nimagem,ndtset,prtimg,strimg)
1551 14 : nimagem(0)=tmpimg0
1552 : end if
1553 : endif
1554 :
1555 : !grspin
1556 4524 : print_constraint=0
1557 25462 : do idtset=1,ndtset_alloc
1558 51264 : if(any(mod(dtsets(idtset)%constraint_kind(:),10)>0))print_constraint=1
1559 : enddo
1560 4524 : if(print_constraint==1)then
1561 : !if(any(mod(dtsets(1:ndtset_alloc)%constraint_kind(:),10)/=0))then
1562 40 : if(choice==2)then
1563 268 : prtimg(:,:)=1
1564 144 : do idtset=0,ndtset_alloc ! specific size for each dataset
1565 124 : compute_static_images=(dtsets(idtset)%istatimg>0)
1566 124 : size2=dtsets(idtset)%natom
1567 124 : if(idtset==0)size2=0
1568 124 : narrm(idtset)=3*size2
1569 144 : if(dtsets(idtset)%iscf>=0 .or. idtset==0)then
1570 248 : do iimage=1,dtsets(idtset)%nimage
1571 124 : if (narrm(idtset)>0) then
1572 : dprarr_images(1:narrm(idtset),iimage,idtset)=&
1573 208 : & reshape(results_out(idtset)%intgres(2:4,1:size2,iimage),(/ narrm(idtset) /) )
1574 : end if
1575 248 : if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
1576 0 : prtimg(iimage,idtset)=0
1577 : end if
1578 : end do
1579 : else
1580 0 : narrm(idtset)=0
1581 : end if
1582 : end do
1583 : ! This is a trick to force printing of fcart even if zero, still not destroying the value of nimagem(0).
1584 20 : tmpimg0=nimagem(0)
1585 20 : nimagem(0)=0
1586 : call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'grspin','DPR',&
1587 20 : mxvals%nimage,nimagem,ndtset,prtimg,strimg)
1588 20 : nimagem(0)=tmpimg0
1589 : end if
1590 : endif
1591 :
1592 29986 : intarr(1,:)=dtsets(:)%gwaclowrank
1593 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwaclowrank','INT',0)
1594 :
1595 29986 : intarr(1,:)=dtsets(:)%gwcalctyp
1596 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwcalctyp','INT',0)
1597 :
1598 29986 : intarr(1,:)=dtsets(:)%gw1rdm
1599 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw1rdm','INT',0)
1600 :
1601 :
1602 29986 : intarr(1,:)=dtsets(:)%gwcomp
1603 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwcomp','INT',0)
1604 :
1605 29986 : dprarr(1,:)=dtsets(:)%gwencomp
1606 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwencomp','ENE',0)
1607 :
1608 29986 : intarr(1,:)=dtsets(:)%gwgamma
1609 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwgamma','INT',0)
1610 :
1611 29986 : intarr(1,:)=dtsets(:)%gwpt_wmode
1612 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwpt_wmode','INT',0)
1613 :
1614 29986 : intarr(1,:)=dtsets(:)%gwpt_g2mode
1615 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwpt_g2mode','INT',0)
1616 :
1617 29986 : intarr(1,:)=dtsets(:)%gwmem
1618 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwmem','INT',0)
1619 :
1620 29986 : intarr(1,:)=dtsets(:)%gwpara
1621 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwpara','INT',0, firstchar="-")
1622 :
1623 29986 : intarr(1,:)=dtsets(:)%gwrpacorr
1624 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwrpacorr','INT',0)
1625 :
1626 29986 : intarr(1,:)=dtsets(:)%gwgmcorr
1627 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwgmcorr','INT',0)
1628 :
1629 : !gw_customnfreqsp
1630 : !It actually overrides the content of nfreqsp (which is forbidden !) in dtset.
1631 : !This is to be cleaned ...
1632 29962 : if (ANY(dtsets(:)%gw_customnfreqsp/=0)) then
1633 80 : intarr(1,:)=dtsets(:)%gw_customnfreqsp
1634 12 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_customnfreqsp','INT',0)
1635 : end if
1636 :
1637 : !gw_freqsp
1638 : !This is to be cleaned ... See above ...
1639 4524 : narr=mxvals%nfreqsp ! default size for all datasets
1640 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
1641 25698 : dprarr(1:narr,idtset)=zero
1642 25462 : narrm(idtset)=dtsets(idtset)%gw_customnfreqsp
1643 25462 : if(idtset==0)narrm(idtset)=mxvals%nfreqsp
1644 29986 : if (narrm(idtset)>0) then
1645 120 : dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%gw_freqsp(1:narrm(idtset))
1646 : end if
1647 : end do
1648 4524 : call prttagm(dprarr,intarr,iout,jdtset_,6,marr,narr,narrm,ncid,ndtset_alloc,'gw_freqsp','ENE',multivals%nfreqsp)
1649 :
1650 29986 : intarr(1,:)=dtsets(:)%gw_frqim_inzgrid
1651 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_frqim_inzgrid','INT',0)
1652 :
1653 29986 : intarr(1,:)=dtsets(:)%gw_frqre_inzgrid
1654 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_frqre_inzgrid','INT',0)
1655 :
1656 29986 : intarr(1,:)=dtsets(:)%gw_frqre_tangrid
1657 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_frqre_tangrid','INT',0)
1658 :
1659 :
1660 29986 : intarr(1,:)=dtsets(:)%gw_invalid_freq
1661 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_invalid_freq','INT',0)
1662 :
1663 29986 : intarr(1,:)=dtsets(:)%gw_qprange
1664 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_qprange','INT',0)
1665 :
1666 29986 : intarr(1,:)=dtsets(:)%gw_nqlwl
1667 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_nqlwl','INT',0)
1668 :
1669 29986 : intarr(1,:)=dtsets(:)%gwr_nstep
1670 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwr_nstep','INT',0)
1671 :
1672 29986 : intarr(1,:)=dtsets(:)%gwr_fit
1673 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwr_fit','INT',0)
1674 :
1675 : !gw_qlwl
1676 4524 : narr=3*dtsets(1)%gw_nqlwl ! default size for all datasets
1677 29986 : do idtset=0,ndtset_alloc ! specific size for each dataset
1678 29986 : if(idtset/=0)then
1679 20938 : narrm(idtset)=3*dtsets(idtset)%gw_nqlwl
1680 20938 : if (narrm(idtset)>0)then
1681 : dprarr(1:narrm(idtset),idtset)=&
1682 8 : & reshape(dtsets(idtset)%gw_qlwl(1:3,1:dtsets(idtset)%gw_nqlwl),(/ narrm(idtset) /) )
1683 : end if
1684 : else
1685 4524 : narrm(idtset)=3*mxvals%gw_nqlwl
1686 4524 : if (narrm(idtset)>0)then
1687 16 : dprarr(1:narrm(idtset),idtset)=zero
1688 16 : dprarr(1:3,idtset)=(/0.00001_dp, 0.00002_dp, 0.00003_dp/)
1689 : end if
1690 : end if
1691 : end do
1692 :
1693 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gw_qlwl','DPR',multivals%gw_nqlwl)
1694 :
1695 29986 : intarr(1,:)=dtsets(:)%gw_sigxcore
1696 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_sigxcore','INT',0)
1697 :
1698 29986 : intarr(1,:)=dtsets(:)%gw_icutcoul
1699 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_icutcoul','INT',0)
1700 :
1701 29986 : dprarr(1,:)=dtsets(:)%gwr_tolqpe
1702 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gwr_tolqpe','ENE',0)
1703 :
1704 :
1705 : !###########################################################
1706 : !### 03. Print all the input variables (H)
1707 : !##
1708 :
1709 29986 : intarr(1,:)=dtsets(:)%hmcsst
1710 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'hmcsst','INT',0)
1711 :
1712 29986 : intarr(1,:)=dtsets(:)%hmctt
1713 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'hmctt','INT',0)
1714 :
1715 : !hspinfield
1716 29986 : dprarr(1,:)=dtsets(:)%hspinfield_in(1)
1717 29986 : dprarr(2,:)=dtsets(:)%hspinfield_in(2)
1718 29986 : dprarr(3,:)=dtsets(:)%hspinfield_in(3)
1719 4524 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'hspinfield','BFI',0)
1720 :
1721 : !hspinfield_cart
1722 4524 : nontrivial_spinaxis=.false.
1723 25458 : do idtset=1,ndtset_alloc
1724 62806 : if (any(abs(dtsets(idtset)%spinaxis(1:2)) > tol8) .or. &
1725 4520 : abs(dtsets(idtset)%spinaxis(3) - 1.0_dp) > tol8) then
1726 : nontrivial_spinaxis=.true.
1727 : exit
1728 : end if
1729 : end do
1730 4524 : if (nontrivial_spinaxis) then
1731 16 : dprarr(1,:) = dtsets(:)%hspinfield_cart(1)
1732 16 : dprarr(2,:) = dtsets(:)%hspinfield_cart(2)
1733 16 : dprarr(3,:) = dtsets(:)%hspinfield_cart(3)
1734 4 : call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'hspinfield_cart','BFI',0)
1735 : end if
1736 :
1737 29986 : intarr(1,:)=dtsets(:)%extfpmd_nbcut
1738 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_nbcut','INT',0)
1739 :
1740 29986 : intarr(1,:)=dtsets(:)%extfpmd_nbdbuf
1741 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_nbdbuf','INT',0)
1742 :
1743 29986 : intarr(1,:)=dtsets(:)%extfpmd_nband
1744 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_nband','INT',0)
1745 :
1746 29986 : intarr(1,:)=dtsets(:)%extfpmd_pawsph
1747 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_pawsph','INT',0)
1748 :
1749 29986 : intarr(1,:)=dtsets(:)%extfpmd_prterr
1750 4524 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_prterr','INT',0)
1751 :
1752 : !Special treatment of the default values for the hybrid functional parameters.
1753 22620 : do ii=1,4
1754 48082 : if(ii==1)dprarr(1,:)=dtsets(:)%hyb_mixing
1755 48082 : if(ii==2)dprarr(1,:)=dtsets(:)%hyb_mixing_sr
1756 48082 : if(ii==3)dprarr(1,:)=dtsets(:)%hyb_range_dft
1757 48082 : if(ii==4)dprarr(1,:)=dtsets(:)%hyb_range_fock
1758 18096 : defo=1
1759 101848 : do idtset=1,ndtset_alloc
1760 185428 : if(dprarr(1,idtset)<-tol8 .and. abs(dprarr(1,idtset)+999.0_dp)>tol8)defo=0
1761 : end do
1762 22620 : if(defo==0)then
1763 868 : do idtset=1,ndtset_alloc
1764 : ! Change the sign of user defined input value
1765 868 : if(dprarr(1,idtset)<-tol8 .and. abs(dprarr(1,idtset)+999.0_dp)>tol8)then
1766 172 : dprarr(1,idtset)=abs(dprarr(1,idtset))
1767 : end if
1768 : end do
1769 40 : if(ii==1)str_hyb='hyb_mixing'
1770 40 : if(ii==2)str_hyb='hyb_mixing_sr'
1771 40 : if(ii==3)str_hyb='hyb_range_dft'
1772 40 : if(ii==4)str_hyb='hyb_range_fock'
1773 40 : call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,str_hyb,'DPR',0)
1774 : end if
1775 : end do
1776 :
1777 : !###########################################################
1778 : !## Deallocation for generic arrays, and for n-z variables
1779 :
1780 4524 : ABI_FREE(dprarr)
1781 4524 : ABI_FREE(intarr)
1782 4524 : ABI_FREE(narrm)
1783 4524 : ABI_FREE(nimagem)
1784 4524 : ABI_FREE(dprarr_images)
1785 4524 : ABI_FREE(prtimg)
1786 :
1787 4524 : end subroutine outvar_a_h
1788 : !!***
1789 :
1790 : end module m_outvar_a_h
1791 : !!***
|