Module qdyn

The qdyn module is the central module of the QDYN library. It collects and exports routines and definitions from all other QDYN modules. Therefore, in any program using the QDYN library it is usually sufficient to import the qdyn module with

use qdyn

For advanced purposes, you can still directly import any other module that is part of the QDYN library.

Summary

Module Variables:

QDYN_COMPILE_HOST

Hostname of the machine where QDYN has been compiled.

QDYN_COMPILE_TIME

Date on which QDYN has been compiled.

QDYN_FC

Fortran compiler used to build QDYN.

QDYN_FEATURES

Configure options used for the current build of QDYN.

QDYN_FFLAGS

Compiler flags used to build QDYN.

QDYN_GITBRANCH

Current git branch.

QDYN_GITVERSION

Version of git on the machine that compiled QDYN.

QDYN_LIBS

Library flags used to build QDYN.

QDYN_VERSION

Current version of QDYN.

Routines:

init()

Initialize a physical model.

print_qdyn_version()

Print a summary of the QDYN version and the compilation options.

Exports:

Reference

qdyn/QDYN_COMPILE_HOST

Hostname of the machine where QDYN has been compiled.

character(len=error_l) :: QDYN_COMPILE_HOST = ...
qdyn/QDYN_COMPILE_TIME

Date on which QDYN has been compiled.

character(len=error_l) :: QDYN_COMPILE_TIME = ...
qdyn/QDYN_FC

Fortran compiler used to build QDYN.

character(len=error_l) :: QDYN_FC           = ...
qdyn/QDYN_FEATURES

Configure options used for the current build of QDYN.

character(len=1024)    :: QDYN_FEATURES     = ...
qdyn/QDYN_FFLAGS

Compiler flags used to build QDYN.

character(len=1024)    :: QDYN_FFLAGS       = ...
qdyn/QDYN_GITBRANCH

Current git branch.

character(len=error_l) :: QDYN_GITBRANCH    = ...
qdyn/QDYN_GITVERSION

Version of git on the machine that compiled QDYN.

character(len=error_l) :: QDYN_GITVERSION   = ...
qdyn/QDYN_LIBS

Library flags used to build QDYN.

character(len=1024)    :: QDYN_LIBS         = ...
qdyn/QDYN_VERSION

Current version of QDYN.

character(len=error_l) :: QDYN_VERSION      = ...
subroutine  qdyn/init(para, grid, gen, state, pulses, eigensystem, label, quiet)[source]

Initialize a physical model.

A model consists of grid, gen, state, eigensystem, and pulses (all optional) according to the parameters in the config file, which must have been loaded into the para variable using the read_para() routine.

Note that if a config file contains the same section (e.g. pulse) more than once, they must be distinguished by different value for label (if nothing is specified this is the empty string). When the init routine is called, it only takes into account sections with a matching value for label.

The init() routine will check for dependencies. E.g., if you want to initialize a dynamical generator, you must also initialize pulses. Note that you can always use specific initialization routines such as init_dyn_gen() to avoid this, for example if you have different dynamical generators that are distinguished by a different label, but should share the same pulses.

Parameters
  • para :: para_t, inout — Config file parameters

  • pulses(:) :: pulse_t, inout, allocatable — Array of pulses to be initialized from para

Options
  • grid :: grid_t, inout — Grid to be initialized from para

  • gen :: dyn_generator_t, inout — Dynamical generator to be initialized from para

  • state :: state_t, inout — State to be initialized from para

  • eigensystem :: eigensystem_t, inout — Eigensystem data structure

  • label :: character, in — Config file label for which to initialize the variables

  • quiet :: logical, in — If .true., do not print any status messages

subroutine  qdyn/print_qdyn_version(verbosity)[source]

Print a summary of the QDYN version and the compilation options.

It is recommended to call this routine in every program using QDYN.

Options

verbosity :: integer, in —

Indicates how much information is printed. The following values are accepted:

  • 0: only print version

  • 1: also print features

  • 2: also print compilation time, compiler and host

  • 3: also print details compilation options

The default value is 2.