Documentation for module pexsi_interface

Interface to the PEXSI library, providing wrappers for all PEXSI routines that are called inside CP2K. Requires PEXSI version 0.10.x.

source: pexsi_interface.F
Loading...

public Types:

cp_pexsi_options
...

public Subroutines/Functions:

...
Access PEXSI internal options
...
...
...
...
...
Set PEXSI internal options

public Types:

TYPE :: cp_pexsi_options

...


INTEGER
:: unused = -1 ...

SUBROUTINEcp_pexsi_dft_driver(plan, pexsi_options, numelectronexact, mupexsi, numelectronpexsi, mumininertia, mumaxinertia, numtotalinertiaiter, numtotalpexsiiter)

...

Arguments:
INTEGER(int_8),
INTENT(in)
:: plan ...
INTENT(in)
:: pexsi_options ...
REAL(real_8),
INTENT(in)
:: numelectronexact ...
REAL(real_8),
INTENT(out)
:: mupexsi ...
REAL(real_8),
INTENT(out)
:: numelectronpexsi ...
REAL(real_8),
INTENT(out)
:: mumininertia ...
REAL(real_8),
INTENT(out)
:: mumaxinertia ...
INTEGER,
INTENT(out)
:: numtotalinertiaiter ...
INTEGER,
INTENT(out)
:: numtotalpexsiiter ...

SUBROUTINEcp_pexsi_get_options(pexsi_options, temperature, gap, deltae, numpole, isinertiacount, maxpexsiiter, mumin0, mumax0, mu0, muinertiatolerance, muinertiaexpansion, mupexsisafeguard, numelectronpexsitolerance, matrixtype, issymbolicfactorize, ordering, rowordering, npsymbfact, verbosity)

Access PEXSI internal options

Arguments:
INTENT(in)
:: pexsi_options ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: temperature ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: gap ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: deltae ...
INTEGER,
INTENT(out),
OPTIONAL
:: numpole ...
INTEGER,
INTENT(out),
OPTIONAL
:: isinertiacount ...
INTEGER,
INTENT(out),
OPTIONAL
:: maxpexsiiter ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: mumin0 ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: mumax0 ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: mu0 ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: muinertiatolerance ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: muinertiaexpansion ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: mupexsisafeguard ...
REAL(real_8),
INTENT(out),
OPTIONAL
:: numelectronpexsitolerance ...
INTEGER,
INTENT(out),
OPTIONAL
:: matrixtype ...
INTEGER,
INTENT(out),
OPTIONAL
:: issymbolicfactorize ...
INTEGER,
INTENT(out),
OPTIONAL
:: ordering ...
INTEGER,
INTENT(out),
OPTIONAL
:: rowordering ...
INTEGER,
INTENT(out),
OPTIONAL
:: npsymbfact ...
INTEGER,
INTENT(out),
OPTIONAL
:: verbosity ...

SUBROUTINEcp_pexsi_load_real_hs_matrix(plan, pexsi_options, nrows, nnz, nnzlocal, numcollocal, colptrlocal, rowindlocal, hnzvallocal, issidentity, snzvallocal)

...

Arguments:
INTEGER(int_8),
INTENT(in)
:: plan ...
INTENT(in)
:: pexsi_options ...
INTEGER,
INTENT(in)
:: nrows ...
INTEGER,
INTENT(in)
:: nnz ...
INTEGER,
INTENT(in)
:: nnzlocal ...
INTEGER,
INTENT(in)
:: numcollocal ...
INTEGER,
INTENT(in)
:: colptrlocal(*) ...
INTEGER,
INTENT(in)
:: rowindlocal(*) ...
REAL(real_8),
INTENT(in)
:: hnzvallocal(*) ...
INTEGER,
INTENT(in)
:: issidentity ...
REAL(real_8),
INTENT(in)
:: snzvallocal(*) ...

SUBROUTINEcp_pexsi_plan_finalize(plan)

...

Arguments:
INTEGER(int_8),
INTENT(in)
:: plan ...

FUNCTIONcp_pexsi_plan_initialize(comm, numprocrow, numproccol, outputfileindex)

...

Return Value ::
INTEGER(int_8)
Arguments:
INTEGER,
INTENT(in)
:: comm ...
INTEGER,
INTENT(in)
:: numprocrow ...
INTEGER,
INTENT(in)
:: numproccol ...
INTEGER,
INTENT(in)
:: outputfileindex ...

SUBROUTINEcp_pexsi_retrieve_real_dft_matrix(plan, dmnzvallocal, edmnzvallocal, fdmnzvallocal, totalenergyh, totalenergys, totalfreeenergy)

...

Arguments:
INTEGER(int_8),
INTENT(in)
:: plan ...
REAL(real_8),
INTENT(out)
:: dmnzvallocal(*) ...
REAL(real_8),
INTENT(out)
:: edmnzvallocal(*) ...
REAL(real_8),
INTENT(out)
:: fdmnzvallocal(*) ...
REAL(real_8),
INTENT(out)
:: totalenergyh ...
REAL(real_8),
INTENT(out)
:: totalenergys ...
REAL(real_8),
INTENT(out)
:: totalfreeenergy ...

SUBROUTINEcp_pexsi_set_default_options(pexsi_options)

...

Arguments:
INTENT(out)
:: pexsi_options ...

SUBROUTINEcp_pexsi_set_options(pexsi_options, temperature, gap, deltae, numpole, isinertiacount, maxpexsiiter, mumin0, mumax0, mu0, muinertiatolerance, muinertiaexpansion, mupexsisafeguard, numelectronpexsitolerance, matrixtype, issymbolicfactorize, ordering, rowordering, npsymbfact, verbosity)

Set PEXSI internal options

Arguments:
INTENT(inout)
:: pexsi_options ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: temperature ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: gap ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: deltae ...
INTEGER,
INTENT(in),
OPTIONAL
:: numpole ...
INTEGER,
INTENT(in),
OPTIONAL
:: isinertiacount ...
INTEGER,
INTENT(in),
OPTIONAL
:: maxpexsiiter ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: mumin0 ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: mumax0 ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: mu0 ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: muinertiatolerance ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: muinertiaexpansion ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: mupexsisafeguard ...
REAL(real_8),
INTENT(in),
OPTIONAL
:: numelectronpexsitolerance ...
INTEGER,
INTENT(in),
OPTIONAL
:: matrixtype ...
INTEGER,
INTENT(in),
OPTIONAL
:: issymbolicfactorize ...
INTEGER,
INTENT(in),
OPTIONAL
:: ordering ...
INTEGER,
INTENT(in),
OPTIONAL
:: rowordering ...
INTEGER,
INTENT(in),
OPTIONAL
:: npsymbfact ...
INTEGER,
INTENT(in),
OPTIONAL
:: verbosity ...