28 use,
intrinsic :: iso_fortran_env
53 type(wfs_elec_t),
pointer :: batch
60 real(real64),
intent(in) :: ca, cb, cc
61 real(real64),
intent(out) :: lambda
62 integer,
intent(in) :: ik, ist
80 write(
message(1),
'(2(a,i4),4(a,es12.5))') &
81 'Debug: RMMDIIS Eigensolver - ik', ik,
' ist ', ist, &
82 ' lambda= ', lambda,
' a= ', ca,
' b= ', cb,
' c= ', cc
90 if (abs(lambda) > 1000.0_real64) lambda = sign(1000.0_real64,lambda)
91 if (abs(lambda) < 0.1_real64) lambda = sign(0.1_real64,lambda)
97#include "eigen_rmmdiis_inc.F90"
100#include "complex.F90"
101#include "eigen_rmmdiis_inc.F90"
double sqrt(double __x) __attribute__((__nothrow__
This module implements batches of mesh functions.
This module implements common operations on batches of mesh functions.
type(debug_t), save, public debug
subroutine, public deigensolver_rmmdiis(namespace, mesh, st, hm, pre, tol, niter, converged, ik, diff)
See http:
subroutine, public zeigensolver_rmmdiis(namespace, mesh, st, hm, pre, tol, niter, converged, ik, diff)
See http:
subroutine find_lambda(ca, cb, cc, lambda, ik, ist)
subroutine, public zeigensolver_rmmdiis_min(namespace, mesh, st, hm, pre, niter, converged, ik)
subroutine, public deigensolver_rmmdiis_min(namespace, mesh, st, hm, pre, niter, converged, ik)
real(real64), parameter, public m_two
real(real64), parameter, public m_zero
real(real64), parameter, public m_four
real(real64), parameter, public m_half
This module defines functions over batches of mesh functions.
This module defines the meshes, which are used in Octopus.
subroutine, public messages_info(no_lines, iunit, verbose_limit, stress, all_nodes, namespace)
character(len=256), dimension(max_lines), public message
to be output by fatal, warning