Commit 7873cae7 authored by Alexander Neukirchen's avatar Alexander Neukirchen

Added individual plot stops. Hope this runs.

parent 5f71ed62
......@@ -41,16 +41,16 @@ MODULE m_constants
INTEGER, PARAMETER :: POTDEN_TYPE_EnergyDen = 5
INTEGER, PARAMETER :: POTDEN_TYPE_DEN = 1001 ! 1000 < POTDEN_TYPE ==> density
! 11 == plot not yet implemented
INTEGER, PARAMETER :: PLOT_INPDEN=1
INTEGER, PARAMETER :: PLOT_OUTDEN_Y_CORE=2
INTEGER, PARAMETER :: PLOT_INPDEN_N_CORE=3
INTEGER, PARAMETER :: PLOT_MIXDEN_Y_CORE=4
INTEGER, PARAMETER :: PLOT_MIXDEN_N_CORE=5
INTEGER, PARAMETER :: PLOT_POT_TOT=7
INTEGER, PARAMETER :: PLOT_POT_EXT=8
INTEGER, PARAMETER :: PLOT_POT_COU=9
INTEGER, PARAMETER :: PLOT_POT_VXC=10
INTEGER, PARAMETER :: PLOT_INPDEN_N_CORE=11
INTEGER, PARAMETER :: PLOT_POT_TOT=2
INTEGER, PARAMETER :: PLOT_POT_EXT=11
INTEGER, PARAMETER :: PLOT_POT_COU=3
INTEGER, PARAMETER :: PLOT_POT_VXC=4
INTEGER, PARAMETER :: PLOT_OUTDEN_Y_CORE=5
INTEGER, PARAMETER :: PLOT_MIXDEN_Y_CORE=6
INTEGER, PARAMETER :: PLOT_MIXDEN_N_CORE=11
CHARACTER(2),DIMENSION(0:103),PARAMETER :: namat_const=(/&
'va',' H','He','Li','Be',' B',' C',' N',' O',' F','Ne',&
......
......@@ -201,9 +201,9 @@ SUBROUTINE cdngen(eig_id,mpi,input,banddos,sliceplot,vacuum,&
CALL juDFT_end("slice OK",mpi%irank)
END IF
IF (sliceplot%iplot.NE.0) THEN
CALL makeplots(stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, cell, noco,nococonv, outDen, PLOT_OUTDEN_Y_CORE, sliceplot)
END IF
!IF (sliceplot%iplot.NE.0) THEN
! CALL makeplots(stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, cell, noco,nococonv, outDen, PLOT_OUTDEN_Y_CORE, sliceplot)
!END IF
CALL timestart("cdngen: cdncore")
if(xcpot%exc_is_MetaGGA()) then
......
......@@ -66,7 +66,6 @@ CONTAINS
USE m_metagga
USE m_plot
USE m_hubbard1_setup
#ifdef CPP_MPI
USE m_mpi_bc_potden
#endif
......@@ -250,6 +249,10 @@ IF (fi%sliceplot%iplot.NE.0) THEN
CALL makeplots(stars, fi%atoms, sphhar, fi%vacuum, fi%input, mpi,fi%oneD, fi%sym, fi%cell, &
fi%noco,nococonv, inDen, PLOT_INPDEN, fi%sliceplot)
IF ((mpi%irank.EQ.0).AND.(fi%sliceplot%iplot.EQ.2)) THEN
CALL juDFT_end("Stopped self consistency loop after plots have been generated.")
END IF
IF (mpi%irank.EQ.0.AND.fi%noco%l_alignMT) THEN
CALL rotateMagnetToSpinAxis(fi%vacuum,sphhar,stars,fi%sym,fi%oneD,fi%cell,fi%noco,nococonv,fi%input,fi%atoms,inDen,.FALSE.)
#ifdef CPP_MPI
......@@ -450,6 +453,10 @@ END IF
CALL makeplots(stars, fi%atoms, sphhar, fi%vacuum, fi%input, mpi,fi%oneD, fi%sym, &
fi%cell, fi%noco,nococonv, outDen, PLOT_OUTDEN_Y_CORE, fi%sliceplot)
IF((fi%sliceplot%iplot.NE.0).AND.(mpi%irank.EQ.0).AND.(fi%sliceplot%iplot.LT.64).AND.(MODULO(fi%sliceplot%iplot,2).NE.1)) THEN
CALL juDFT_end("Stopped self consistency loop after plots have been generated.")
END IF
IF (mpi%irank.EQ.0.AND.fi%noco%l_alignMT) THEN
CALL rotateMagnetToSpinAxis(fi%vacuum,sphhar,stars,fi%sym,fi%oneD,fi%cell,fi%noco,nococonv,fi%input,fi%atoms,outDen,.FALSE.)
#ifdef CPP_MPI
......@@ -672,4 +679,4 @@ END IF
END SUBROUTINE priv_geo_end
END SUBROUTINE fleur_execute
END MODULE m_fleur
\ No newline at end of file
END MODULE m_fleur
......@@ -1075,10 +1075,10 @@ CONTAINS
END IF
! Plotting the output density matrix as n / n, m / n, mx, my, mz.
! Plot identifier: PLOT_OUTDEN_Y_CORE = 2
! Plot identifier: PLOT_OUTDEN_Y_CORE = 5
! No core subtraction done!
! Additive term for iplot: 4
IF (plot_const.EQ.2) THEN
! Additive term for iplot: 32
IF (plot_const.EQ.5) THEN
factor = 1.0
denName = 'denOutWithCore'
score = .FALSE.
......@@ -1099,36 +1099,36 @@ CONTAINS
END IF
END IF
! Plotting the output density matrix as n / n, m / n, mx, my, mz.
! Plot identifier: PLOT_OUTDEN_N_CORE = 3
! Core subtraction done!
! Additive term for iplot: 8
IF (plot_const.EQ.3) THEN
factor = 1.0
denName = 'denOutNOCore'
score = .TRUE.
potnorm = .FALSE.
IF (input%jspins.EQ.2) THEN
IF (noco%l_noco) THEN
CALL matrixplot(sliceplot,stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, &
cell, noco, nococonv, factor, score, potnorm, denmat, &
denName)
ELSE
CALL vectorplot(sliceplot,stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, &
cell, noco, nococonv, factor, score, potnorm, denmat, &
denName)
END IF
ELSE
CALL savxsf(sliceplot,stars, atoms, sphhar, vacuum, input, mpi ,oneD, sym, cell, &
noco, nococonv, score, potnorm, denName, denmat)
END IF
END IF
!! Plotting the output density matrix as n / n, m / n, mx, my, mz.
!! Plot identifier: PLOT_OUTDEN_N_CORE = 3
!! Core subtraction done!
!! Additive term for iplot: 8
!IF (plot_const.EQ.3) THEN
! factor = 1.0
! denName = 'denOutNOCore'
! score = .TRUE.
! potnorm = .FALSE.
! IF (input%jspins.EQ.2) THEN
! IF (noco%l_noco) THEN
! CALL matrixplot(sliceplot,stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, &
! cell, noco, nococonv, factor, score, potnorm, denmat, &
! denName)
! ELSE
! CALL vectorplot(sliceplot,stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, &
! cell, noco, nococonv, factor, score, potnorm, denmat, &
! denName)
! END IF
! ELSE
! CALL savxsf(sliceplot,stars, atoms, sphhar, vacuum, input, mpi ,oneD, sym, cell, &
! noco, nococonv, score, potnorm, denName, denmat)
! END IF
!END IF
! Plotting the mixed density matrix as n / n, m / n, mx, my, mz.
! Plot identifier: PLOT_MIXDEN_Y_CORE = 4
! Plot identifier: PLOT_MIXDEN_Y_CORE = 6
! No core subtraction done!
! Additive term for iplot: 16
IF (plot_const.EQ.4) THEN
! Additive term for iplot: 128
IF (plot_const.EQ.6) THEN
factor = 1.0
denName = 'denOutMixWithCore'
score = .FALSE.
......@@ -1149,38 +1149,38 @@ CONTAINS
END IF
END IF
! Plotting the mixed density matrix as n / n, m / n, mx, my, mz.
! Plot identifier: PLOT_MIXDEN_N_CORE = 5
! Core subtraction done!
! Additive term for iplot: 32
IF (plot_const.EQ.5) THEN
factor = 1.0
denName = 'denOutMixNoCore'
score = .TRUE.
potnorm = .FALSE.
IF (input%jspins.EQ.2) THEN
IF (noco%l_noco) THEN
CALL matrixplot(sliceplot,stars, atoms, sphhar, vacuum, input,mpi, oneD, sym, &
cell, noco, nococonv, factor, score, potnorm, denmat, &
denName)
ELSE
CALL vectorplot(sliceplot,stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, &
cell, noco, nococonv, factor, score, potnorm, denmat, &
denName)
END IF
ELSE
CALL savxsf(sliceplot,stars, atoms, sphhar, vacuum, input,mpi , oneD, sym, cell, &
noco, nococonv, score, potnorm, denName, denmat)
END IF
END IF
!! Plotting the mixed density matrix as n / n, m / n, mx, my, mz.
!! Plot identifier: PLOT_MIXDEN_N_CORE = 5
!! Core subtraction done!
!! Additive term for iplot: 32
!IF (plot_const.EQ.5) THEN
! factor = 1.0
! denName = 'denOutMixNoCore'
! score = .TRUE.
! potnorm = .FALSE.
! IF (input%jspins.EQ.2) THEN
! IF (noco%l_noco) THEN
! CALL matrixplot(sliceplot,stars, atoms, sphhar, vacuum, input,mpi, oneD, sym, &
! cell, noco, nococonv, factor, score, potnorm, denmat, &
! denName)
! ELSE
! CALL vectorplot(sliceplot,stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, &
! cell, noco, nococonv, factor, score, potnorm, denmat, &
! denName)
! END IF
! ELSE
! CALL savxsf(sliceplot,stars, atoms, sphhar, vacuum, input,mpi , oneD, sym, cell, &
! noco, nococonv, score, potnorm, denName, denmat)
! END IF
!END IF
! Plotting the total potential as vTot / v_eff, B_eff / v_eff,
! B_xc_1, B_xc_2, B_xc_3.
! Plot identifier: PLOT_POT_TOT = 7
! Plot identifier: PLOT_POT_TOT = 2
! No core subtraction done!
! Additive term for iplot: 128
IF (plot_const.EQ.7) THEN
! Additive term for iplot: 4
IF (plot_const.EQ.2) THEN
IF(noco%l_alignMT) CALL juDFT_warn("l_alignMT=T and plotting potentials can lead to wrong potentials visualized inside the MT",calledby="plot.f90")
factor = 2.0
denName = 'vTot'
......@@ -1203,10 +1203,10 @@ CONTAINS
END IF
! Plotting the Coulomb potential as vCoul.
! Plot identifier: PLOT_POT_COU = 9
! Plot identifier: PLOT_POT_COU = 3
! No core subtraction done!
! Additive term for iplot: 512
IF (plot_const.EQ.9) THEN
! Additive term for iplot: 8
IF (plot_const.EQ.3) THEN
IF(noco%l_alignMT) CALL juDFT_warn("l_alignMT=T and plotting potentials can lead to wrong potentials visualized inside the MT",calledby="plot.f90")
factor = 1.0
denName = 'vCoul'
......@@ -1218,10 +1218,10 @@ CONTAINS
! Plotting the xc potential as vXc / v_Xc, B_Xc / v_Xc,
! B_xc_1, B_xc_2, B_xc_3.
! Plot identifier: PLOT_POT_VXC = 10
! Plot identifier: PLOT_POT_VXC = 4
! No core subtraction done!
! Additive term for iplot: 1024
IF (plot_const.EQ.10) THEN
! Additive term for iplot: 16
IF (plot_const.EQ.4) THEN
IF(noco%l_alignMT) CALL juDFT_warn("l_alignMT=T and plotting potentials can lead to wrong potentials visualized inside the MT",calledby="plot.f90")
factor = 2.0
denName = 'vXc'
......@@ -1290,7 +1290,7 @@ INCLUDE 'mpif.h'
CALL procplot(stars, atoms, sphhar,sliceplot, vacuum, input,mpi, oneD, sym, cell, &
noco, nococonv, denmat, plot_const)
END IF
CALL timestop("Plotting iplot plots")
CALL timestop("Plotting iplot plots")
END SUBROUTINE makeplots
......
......@@ -118,7 +118,7 @@
<densityOfStates ndir="0" minEnergy="-.50000000" maxEnergy=".50000000" sigma=".01500000"/>
<vacuumDOS layers="0" integ="F" star="F" nstars="0" locx1=".00000" locy1=".00000" locx2=".00000" locy2=".00000" nstm="0" tworkf=".00000"/>
<unfoldingBand unfoldBand="F" supercellX="1" supercellY="1" supercellZ="1"/>
<plotting iplot="1" polar="F" format="1">
<plotting iplot="6" polar="F" format="1">
<plot cartesian="f" TwoD="F" grid="10 10 10" vec1="1.0 0.0 0.0" vec2="0.0 1.0 0.0" vec3="0.0 0.0 1.0" zero="0.0 0.0 0.0" file='plot' vecField='T'/>
</plotting>
<chargeDensitySlicing numkpt="0" minEigenval=".00000000" maxEigenval=".00000000" nnne="0" pallst="F"/>
......
......@@ -10,10 +10,9 @@ $result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","2.86600");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","1.43300");
#Grep density values
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","0.00000000.*0.00000000.*0.00000000.*0.00000000");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","4.6045648");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","3.5526110");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","5.3227640");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","8.482447");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","0.439032");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plotOnlyMT.xsf","2.229111");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plot.xsf","2.229111");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plot.xsf","0.318444");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plot.xsf","5.7472348");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plot.xsf","0.4258351");
$result+=jt::test_grepexists("$workdir/denIn_A_vec_plot.xsf","2.547555");
jt::stageresult($workdir,$result,"3");
......@@ -138,6 +138,9 @@ CONTAINS
CALL subPotDen(vxcForPlotting,vTot,vCoul)
CALL makeplots(stars, atoms, sphhar, vacuum, input, mpi,oneD, sym, cell, &
noco,nococonv, vxcForPlotting, PLOT_POT_VXC, sliceplot)
IF ((mpi%irank.EQ.0).AND.(sliceplot%iplot.LT.32).AND.(MODULO(fi%sliceplot%iplot,2).NE.1)) THEN
CALL juDFT_end("Stopped self consistency loop after plots have been generated.")
END IF
END IF
! Store vTot(L=0) component as r*vTot(L=0)/sqrt(4*pi):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment