Octopus
tdfunction_oct_m Module Reference

Detailed Description


This module defines "time-dependent functions", to be used by the lasers module, or in the future in order to define time-dependent

magnetic fields.

Data Types

interface  tdf
 
interface  tdf_set_numerical
 
type  tdf_t
 

Functions/Subroutines

subroutine, public tdf_read (f, namespace, function_name, ierr)
 This function initializes "f" from the TDFunctions block. More...
 
integer pure function, public tdf_niter (f)
 
integer pure function, public tdf_nfreqs (f)
 
real(real64) pure function, public tdf_dt (f)
 
subroutine, public tdf_init (f)
 
logical function, public tdf_is_empty (f)
 
subroutine, public tdf_init_cw (f, a0, omega0)
 
subroutine, public tdf_init_gaussian (f, a0, omega0, t0, tau0)
 
subroutine, public tdf_init_cosinoidal (f, a0, omega0, t0, tau0)
 
subroutine, public tdf_init_trapezoidal (f, a0, omega0, t0, tau0, tau1)
 
subroutine, public tdf_init_fromexpr (f, expression)
 
subroutine, public tdf_init_fromfile (f, filename, namespace, ierr)
 
subroutine, public tdf_init_numerical (f, niter, dt, omegamax, initval, rep)
 
subroutine, public tdf_fourier_grid (f, wgrid)
 
subroutine, public tdf_numerical_to_fourier (f)
 
subroutine, public tdf_fourier_to_numerical (f)
 
subroutine, public tdf_numerical_to_zerofourier (f)
 
subroutine, public tdf_zerofourier_to_numerical (f)
 
subroutine tdf_set_numericalr (f, values)
 
subroutine tdf_set_numericalr1 (f, index, val)
 
subroutine, public tdf_set_random (f, fdotf)
 
subroutine, public tdf_to_numerical (f, niter, dt, omegamax)
 
real(real64) pure function tdfi (f, i)
 
real(real64) function tdft (f, t)
 
subroutine, public tdf_end (f)
 
subroutine, public tdf_copy (fout, fin)
 
subroutine, public tdf_scalar_multiply (alpha, f)
 
subroutine, public tdf_cosine_multiply (omega, f)
 
subroutine, public tdf_write (f, iunit, namespace)
 
real(real64) function, public tdf_dot_product (f, g)
 
real(real64) function, public tdf_diff (f, g)
 

Variables

integer, parameter, public tdf_empty = 10001
 
integer, parameter, public tdf_cw = 10002
 
integer, parameter, public tdf_gaussian = 10003
 
integer, parameter, public tdf_cosinoidal = 10004
 
integer, parameter, public tdf_trapezoidal = 10005
 
integer, parameter, public tdf_from_file = 10006
 
integer, parameter, public tdf_numerical = 10007
 
integer, parameter, public tdf_from_expr = 10008
 
integer, parameter, public tdf_fourier_series = 10010
 
integer, parameter, public tdf_zero_fourier = 10011
 

Function/Subroutine Documentation

◆ tdf_read()

subroutine, public tdfunction_oct_m::tdf_read ( type(tdf_t), intent(inout)  f,
type(namespace_t), intent(in)  namespace,
character(len=*), intent(in)  function_name,
integer, intent(out)  ierr 
)

This function initializes "f" from the TDFunctions block.

Parameters
[out]ierrError code, 0 on success.

Definition at line 217 of file tdfunction.F90.

◆ tdf_niter()

integer pure function, public tdfunction_oct_m::tdf_niter ( type(tdf_t), intent(in)  f)

Definition at line 363 of file tdfunction.F90.

◆ tdf_nfreqs()

integer pure function, public tdfunction_oct_m::tdf_nfreqs ( type(tdf_t), intent(in)  f)

Definition at line 371 of file tdfunction.F90.

◆ tdf_dt()

real(real64) pure function, public tdfunction_oct_m::tdf_dt ( type(tdf_t), intent(in)  f)

Definition at line 379 of file tdfunction.F90.

◆ tdf_init()

subroutine, public tdfunction_oct_m::tdf_init ( type(tdf_t), intent(inout)  f)

Definition at line 387 of file tdfunction.F90.

◆ tdf_is_empty()

logical function, public tdfunction_oct_m::tdf_is_empty ( type(tdf_t), intent(in)  f)

Definition at line 402 of file tdfunction.F90.

◆ tdf_init_cw()

subroutine, public tdfunction_oct_m::tdf_init_cw ( type(tdf_t), intent(inout)  f,
real(real64), intent(in)  a0,
real(real64), intent(in)  omega0 
)

Definition at line 414 of file tdfunction.F90.

◆ tdf_init_gaussian()

subroutine, public tdfunction_oct_m::tdf_init_gaussian ( type(tdf_t), intent(inout)  f,
real(real64), intent(in)  a0,
real(real64), intent(in)  omega0,
real(real64), intent(in)  t0,
real(real64), intent(in)  tau0 
)

Definition at line 430 of file tdfunction.F90.

◆ tdf_init_cosinoidal()

subroutine, public tdfunction_oct_m::tdf_init_cosinoidal ( type(tdf_t), intent(inout)  f,
real(real64), intent(in)  a0,
real(real64), intent(in)  omega0,
real(real64), intent(in)  t0,
real(real64), intent(in)  tau0 
)

Definition at line 448 of file tdfunction.F90.

◆ tdf_init_trapezoidal()

subroutine, public tdfunction_oct_m::tdf_init_trapezoidal ( type(tdf_t), intent(inout)  f,
real(real64), intent(in)  a0,
real(real64), intent(in)  omega0,
real(real64), intent(in)  t0,
real(real64), intent(in)  tau0,
real(real64), intent(in)  tau1 
)

Definition at line 466 of file tdfunction.F90.

◆ tdf_init_fromexpr()

subroutine, public tdfunction_oct_m::tdf_init_fromexpr ( type(tdf_t), intent(inout)  f,
character(len=*), intent(in)  expression 
)

Definition at line 485 of file tdfunction.F90.

◆ tdf_init_fromfile()

subroutine, public tdfunction_oct_m::tdf_init_fromfile ( type(tdf_t), intent(inout)  f,
character(len=*), intent(in)  filename,
type(namespace_t), intent(in)  namespace,
integer, intent(out)  ierr 
)

Definition at line 500 of file tdfunction.F90.

◆ tdf_init_numerical()

subroutine, public tdfunction_oct_m::tdf_init_numerical ( type(tdf_t), intent(inout)  f,
integer, intent(in)  niter,
real(real64), intent(in)  dt,
real(real64), intent(in)  omegamax,
real(real64), intent(in), optional  initval,
integer, intent(in), optional  rep 
)

Definition at line 551 of file tdfunction.F90.

◆ tdf_fourier_grid()

subroutine, public tdfunction_oct_m::tdf_fourier_grid ( type(tdf_t), intent(in)  f,
real(real64), dimension(:), intent(inout)  wgrid 
)

Definition at line 606 of file tdfunction.F90.

◆ tdf_numerical_to_fourier()

subroutine, public tdfunction_oct_m::tdf_numerical_to_fourier ( type(tdf_t), intent(inout)  f)

Definition at line 633 of file tdfunction.F90.

◆ tdf_fourier_to_numerical()

subroutine, public tdfunction_oct_m::tdf_fourier_to_numerical ( type(tdf_t), intent(inout)  f)

Definition at line 668 of file tdfunction.F90.

◆ tdf_numerical_to_zerofourier()

subroutine, public tdfunction_oct_m::tdf_numerical_to_zerofourier ( type(tdf_t), intent(inout)  f)

Definition at line 697 of file tdfunction.F90.

◆ tdf_zerofourier_to_numerical()

subroutine, public tdfunction_oct_m::tdf_zerofourier_to_numerical ( type(tdf_t), intent(inout)  f)

Definition at line 715 of file tdfunction.F90.

◆ tdf_set_numericalr()

subroutine tdfunction_oct_m::tdf_set_numericalr ( type(tdf_t), intent(inout)  f,
real(real64), dimension(:), intent(in)  values 
)
private

Definition at line 729 of file tdfunction.F90.

◆ tdf_set_numericalr1()

subroutine tdfunction_oct_m::tdf_set_numericalr1 ( type(tdf_t), intent(inout)  f,
integer, intent(in)  index,
real(real64), intent(in)  val 
)
private

Definition at line 750 of file tdfunction.F90.

◆ tdf_set_random()

subroutine, public tdfunction_oct_m::tdf_set_random ( type(tdf_t), intent(inout)  f,
real(real64), intent(in), optional  fdotf 
)

Definition at line 771 of file tdfunction.F90.

◆ tdf_to_numerical()

subroutine, public tdfunction_oct_m::tdf_to_numerical ( type(tdf_t), intent(inout)  f,
integer, intent(in), optional  niter,
real(real64), intent(in), optional  dt,
real(real64), intent(in), optional  omegamax 
)

Definition at line 827 of file tdfunction.F90.

◆ tdfi()

real(real64) pure function tdfunction_oct_m::tdfi ( type(tdf_t), intent(in)  f,
integer, intent(in)  i 
)
private

Definition at line 866 of file tdfunction.F90.

◆ tdft()

real(real64) function tdfunction_oct_m::tdft ( type(tdf_t), intent(in)  f,
real(real64), intent(in)  t 
)
private

Definition at line 887 of file tdfunction.F90.

◆ tdf_end()

subroutine, public tdfunction_oct_m::tdf_end ( type(tdf_t), intent(inout)  f)

Definition at line 973 of file tdfunction.F90.

◆ tdf_copy()

subroutine, public tdfunction_oct_m::tdf_copy ( type(tdf_t), intent(inout)  fout,
type(tdf_t), intent(in)  fin 
)

Definition at line 996 of file tdfunction.F90.

◆ tdf_scalar_multiply()

subroutine, public tdfunction_oct_m::tdf_scalar_multiply ( real(real64), intent(in)  alpha,
type(tdf_t), intent(inout)  f 
)

Definition at line 1039 of file tdfunction.F90.

◆ tdf_cosine_multiply()

subroutine, public tdfunction_oct_m::tdf_cosine_multiply ( real(real64), intent(in)  omega,
type(tdf_t), intent(inout)  f 
)

Definition at line 1062 of file tdfunction.F90.

◆ tdf_write()

subroutine, public tdfunction_oct_m::tdf_write ( type(tdf_t), intent(in)  f,
integer, intent(in), optional  iunit,
type(namespace_t), intent(in), optional  namespace 
)

Definition at line 1085 of file tdfunction.F90.

◆ tdf_dot_product()

real(real64) function, public tdfunction_oct_m::tdf_dot_product ( type(tdf_t), intent(in)  f,
type(tdf_t), intent(in)  g 
)

Definition at line 1156 of file tdfunction.F90.

◆ tdf_diff()

real(real64) function, public tdfunction_oct_m::tdf_diff ( type(tdf_t), intent(in)  f,
type(tdf_t), intent(in)  g 
)

Definition at line 1209 of file tdfunction.F90.

Variable Documentation

◆ tdf_empty

integer, parameter, public tdfunction_oct_m::tdf_empty = 10001

Definition at line 172 of file tdfunction.F90.

◆ tdf_cw

integer, parameter, public tdfunction_oct_m::tdf_cw = 10002

Definition at line 172 of file tdfunction.F90.

◆ tdf_gaussian

integer, parameter, public tdfunction_oct_m::tdf_gaussian = 10003

Definition at line 172 of file tdfunction.F90.

◆ tdf_cosinoidal

integer, parameter, public tdfunction_oct_m::tdf_cosinoidal = 10004

Definition at line 172 of file tdfunction.F90.

◆ tdf_trapezoidal

integer, parameter, public tdfunction_oct_m::tdf_trapezoidal = 10005

Definition at line 172 of file tdfunction.F90.

◆ tdf_from_file

integer, parameter, public tdfunction_oct_m::tdf_from_file = 10006

Definition at line 172 of file tdfunction.F90.

◆ tdf_numerical

integer, parameter, public tdfunction_oct_m::tdf_numerical = 10007

Definition at line 172 of file tdfunction.F90.

◆ tdf_from_expr

integer, parameter, public tdfunction_oct_m::tdf_from_expr = 10008

Definition at line 172 of file tdfunction.F90.

◆ tdf_fourier_series

integer, parameter, public tdfunction_oct_m::tdf_fourier_series = 10010

Definition at line 172 of file tdfunction.F90.

◆ tdf_zero_fourier

integer, parameter, public tdfunction_oct_m::tdf_zero_fourier = 10011

Definition at line 172 of file tdfunction.F90.