Octopus
wigner_distribution_oct_m Module Reference

Data Types

type  wigner_distribution_t
 Class describing a Wigner distribution for sampling initial conditions in multi-trajectory Ehrenfest runs. More...
 

Functions/Subroutines

subroutine wigner_distribution_init (this, num_modes, seed)
 Initialize the Wigner distribution. More...
 
subroutine wigner_distribution_end (this)
 Deallocate internal memory. More...
 
real(real64) function, dimension(1:this%num_modes) wigner_distribution_get (this, sigma, mu, set)
 Get random numbers with given standard deviation and mean per mode. More...
 

Variables

integer, parameter, public wigner_q = 1
 
integer, parameter, public wigner_p = 2
 

Function/Subroutine Documentation

◆ wigner_distribution_init()

subroutine wigner_distribution_oct_m::wigner_distribution_init ( class(wigner_distribution_t), intent(inout)  this,
integer, intent(in)  num_modes,
integer(int64), intent(in)  seed 
)
private

Initialize the Wigner distribution.

This initializer invokes the random number generator and creates two sets of normal-distributed random numbers.

Parameters
[in,out]thisThe Wigner function object
[in]num_modesNumber of boson modes
[in]seedInitial seed for the random number generator

Definition at line 146 of file wigner_distribution.F90.

◆ wigner_distribution_end()

subroutine wigner_distribution_oct_m::wigner_distribution_end ( class(wigner_distribution_t), intent(inout)  this)
private

Deallocate internal memory.

Definition at line 167 of file wigner_distribution.F90.

◆ wigner_distribution_get()

real(real64) function, dimension(1:this%num_modes) wigner_distribution_oct_m::wigner_distribution_get ( class(wigner_distribution_t), intent(inout)  this,
real(real64), dimension(1:this%num_modes), intent(in)  sigma,
real(real64), dimension(1:this%num_modes), intent(in)  mu,
integer, intent(in)  set 
)
private

Get random numbers with given standard deviation and mean per mode.

The variable set controls whether to get the displacements for the canonical position or momentum. Possible values are

  • WIGNER_Q (position)
  • WIGNER_P (momentum)
    Parameters
    [in]sigmastandard deviations per mode
    [in]mumean value per mode
    [in]setchoose the set of raw random numbers

Definition at line 182 of file wigner_distribution.F90.

Variable Documentation

◆ wigner_q

integer, parameter, public wigner_distribution_oct_m::wigner_q = 1

Definition at line 118 of file wigner_distribution.F90.

◆ wigner_p

integer, parameter, public wigner_distribution_oct_m::wigner_p = 2

Definition at line 118 of file wigner_distribution.F90.