Octopus
mix_oct_m::mix_t Type Reference

God class for mixing. More...

Detailed Description

God class for mixing.

  • All input settings
  • An instance of the field for mixing mixfield
  • Derivatives (only for convenience)
  • An instance of additional auxilliary fields, auxmixfield which is itself an array of mixfield instances.

Definition at line 213 of file mix.F90.

Public Attributes

integer, public ns
 Number of steps used to extrapolate the new vector. More...
 
integer, public ns_restart
 Number of steps after which the mixing is restarted. More...
 

Private Member Functions

procedure compute_residuals_aux_field
 

Private Attributes

type(derivatives_t), pointer der
 Derivatives. More...
 
integer scheme
 The mixing scheme used (linear, broyden, etc) More...
 
real(real64) coeff
 The mixing coefficient (in linear mixing: vnew = (1-coeff)*vin + coeff*vout) More...
 
real(real64) residual_coeff
 Mixing coefficient for DIIS. More...
 
integer iter
 Number of SCF iterations already done. In case of restart, this number must. More...
 
integer interval
 Use multiple mixing schemes in a single SCF calculation. See MinInterval More...
 
integer last_ipos
 Where the information is about the last iteration stored in arrays df and dv. More...
 
type(mixfield_tmixfield
 The field to be mixed. More...
 
integer nauxmixfield
 Number of auxiliary mixing fields. More...
 
type(mixfield_ptr_t), dimension(max_auxmixfieldauxmixfield
 Auxiliary mixing fields. More...
 
integer ipos
 For auxiliary mixing fields. More...
 
logical kerker
 Use kerker preconditioning. More...
 
real(real64) kerker_factor
 Lambda parameter in Shiihara et al 2008 Modelling Simul. Mater. Sci. Eng. 16 035004. More...
 
logical precondition
 Use older (presumably not working) preconditioning. More...
 
type(nl_operator_tpreconditioner
 Untested (presumably not working) implementation of preconditioning, as defined by. More...
 

Member Function/Subroutine Documentation

◆ compute_residuals_aux_field()

procedure mix_oct_m::mix_t::compute_residuals_aux_field
private

Definition at line 244 of file mix.F90.

Member Data Documentation

◆ der

type(derivatives_t), pointer mix_oct_m::mix_t::der
private

Derivatives.

Definition at line 215 of file mix.F90.

◆ scheme

integer mix_oct_m::mix_t::scheme
private

The mixing scheme used (linear, broyden, etc)

Definition at line 217 of file mix.F90.

◆ coeff

real(real64) mix_oct_m::mix_t::coeff
private

The mixing coefficient (in linear mixing: vnew = (1-coeff)*vin + coeff*vout)

Definition at line 218 of file mix.F90.

◆ residual_coeff

real(real64) mix_oct_m::mix_t::residual_coeff
private

Mixing coefficient for DIIS.

Definition at line 219 of file mix.F90.

◆ iter

integer mix_oct_m::mix_t::iter
private

Number of SCF iterations already done. In case of restart, this number must.

Definition at line 220 of file mix.F90.

◆ ns

integer, public mix_oct_m::mix_t::ns

Number of steps used to extrapolate the new vector.

Definition at line 222 of file mix.F90.

◆ ns_restart

integer, public mix_oct_m::mix_t::ns_restart

Number of steps after which the mixing is restarted.

Definition at line 223 of file mix.F90.

◆ interval

integer mix_oct_m::mix_t::interval
private

Use multiple mixing schemes in a single SCF calculation. See MinInterval

Definition at line 224 of file mix.F90.

◆ last_ipos

integer mix_oct_m::mix_t::last_ipos
private

Where the information is about the last iteration stored in arrays df and dv.

Definition at line 226 of file mix.F90.

◆ mixfield

type(mixfield_t) mix_oct_m::mix_t::mixfield
private

The field to be mixed.

Definition at line 230 of file mix.F90.

◆ nauxmixfield

integer mix_oct_m::mix_t::nauxmixfield
private

Number of auxiliary mixing fields.

Definition at line 231 of file mix.F90.

◆ auxmixfield

type(mixfield_ptr_t), dimension(max_auxmixfield) mix_oct_m::mix_t::auxmixfield
private

Auxiliary mixing fields.

Definition at line 232 of file mix.F90.

◆ ipos

integer mix_oct_m::mix_t::ipos
private

For auxiliary mixing fields.

Definition at line 233 of file mix.F90.

◆ kerker

logical mix_oct_m::mix_t::kerker
private

Use kerker preconditioning.

Definition at line 237 of file mix.F90.

◆ kerker_factor

real(real64) mix_oct_m::mix_t::kerker_factor
private

Lambda parameter in Shiihara et al 2008 Modelling Simul. Mater. Sci. Eng. 16 035004.

Definition at line 238 of file mix.F90.

◆ precondition

logical mix_oct_m::mix_t::precondition
private

Use older (presumably not working) preconditioning.

Definition at line 239 of file mix.F90.

◆ preconditioner

type(nl_operator_t) mix_oct_m::mix_t::preconditioner
private

Untested (presumably not working) implementation of preconditioning, as defined by.

Definition at line 240 of file mix.F90.


The documentation for this type was generated from the following file: