Octopus
external_waves_oct_m Module Reference

Data Types

type  bessel_beam_t
 
interface  external_waves_t
 

Functions/Subroutines

class(external_waves_t) function, pointer external_waves_constructor (namespace)
 
subroutine external_waves_init_interaction_as_partner (partner, interaction)
 
subroutine external_waves_update_quantity (this, iq)
 
subroutine external_waves_copy_quantities_to_interaction (partner, interaction)
 
subroutine, public load_external_waves (partners, namespace)
 
subroutine, public external_waves_init (external_waves, namespace)
 Here, plane wave is evaluated from analytical formulae on grid. More...
 
subroutine, public external_waves_end (external_waves)
 
subroutine, public external_waves_eval (external_waves, time, mesh, type_of_field, out_field_total, der)
 Calculation of external waves from parsed formula. More...
 
subroutine plane_waves_eval (external_waves, time, mesh, type_of_field, out_field_total, der)
 Calculation of plane waves from parsed formula. More...
 
subroutine pw_parsed_evaluation (external_waves, wn, time, mesh, n_points, pw_field)
 Evaluate expression for plane wave parsing the provided formula. More...
 
subroutine pw_mx_function_evaluation (external_waves, wn, time, mesh, n_points, pw_field)
 Evaluate expression for plane wave that uses predefeined Maxwell function. More...
 
subroutine get_pw_b_field (external_waves, mesh, pwidx, e_field, b_field)
 Calculation of magnetic field for a plane wave. More...
 
subroutine, public bessel_source_eval (external_waves, time, mesh, type_of_field, out_field_total, der)
 Calculation of Bessel beam from parsed formula. More...
 
subroutine bessel_beam_function (this, iline, shift, mesh, n_points, time, k_vector, c_factor, envelope_mxf, bessel_field)
 . Evaluation of the Bessel beam expression More...
 
subroutine bessel_beam_init (this, nlines, dim)
 . Initialization of Bessel beam arrays More...
 
subroutine bessel_beam_finalize (this)
 . Finalize Bessel beam arrays More...
 

Function/Subroutine Documentation

◆ external_waves_constructor()

class(external_waves_t) function, pointer external_waves_oct_m::external_waves_constructor ( type(namespace_t), intent(in)  namespace)
private

Definition at line 214 of file external_waves.F90.

◆ external_waves_init_interaction_as_partner()

subroutine external_waves_oct_m::external_waves_init_interaction_as_partner ( class(external_waves_t), intent(in)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 244 of file external_waves.F90.

◆ external_waves_update_quantity()

subroutine external_waves_oct_m::external_waves_update_quantity ( class(external_waves_t), intent(inout)  this,
integer, intent(in)  iq 
)
private

Definition at line 267 of file external_waves.F90.

◆ external_waves_copy_quantities_to_interaction()

subroutine external_waves_oct_m::external_waves_copy_quantities_to_interaction ( class(external_waves_t), intent(inout)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 287 of file external_waves.F90.

◆ load_external_waves()

subroutine, public external_waves_oct_m::load_external_waves ( class(partner_list_t), intent(inout)  partners,
type(namespace_t), intent(in)  namespace 
)

Definition at line 322 of file external_waves.F90.

◆ external_waves_init()

subroutine, public external_waves_oct_m::external_waves_init ( type(external_waves_t), intent(inout)  external_waves,
type(namespace_t), intent(in)  namespace 
)

Here, plane wave is evaluated from analytical formulae on grid.

Definition at line 349 of file external_waves.F90.

◆ external_waves_end()

subroutine, public external_waves_oct_m::external_waves_end ( type(external_waves_t), intent(inout)  external_waves)

Definition at line 647 of file external_waves.F90.

◆ external_waves_eval()

subroutine, public external_waves_oct_m::external_waves_eval ( type(external_waves_t), intent(inout)  external_waves,
real(real64), intent(in)  time,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  type_of_field,
real(real64), dimension(:, :), intent(out)  out_field_total,
type(derivatives_t), intent(in), optional  der 
)

Calculation of external waves from parsed formula.

Definition at line 677 of file external_waves.F90.

◆ plane_waves_eval()

subroutine external_waves_oct_m::plane_waves_eval ( type(external_waves_t), intent(inout)  external_waves,
real(real64), intent(in)  time,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  type_of_field,
real(real64), dimension(:, :), intent(out)  out_field_total,
type(derivatives_t), intent(in), optional  der 
)
private

Calculation of plane waves from parsed formula.

Definition at line 702 of file external_waves.F90.

◆ pw_parsed_evaluation()

subroutine external_waves_oct_m::pw_parsed_evaluation ( type(external_waves_t), intent(inout)  external_waves,
integer, intent(in)  wn,
real(real64), intent(in)  time,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  n_points,
real(real64), dimension(:,:), intent(out)  pw_field 
)
private

Evaluate expression for plane wave parsing the provided formula.

Definition at line 799 of file external_waves.F90.

◆ pw_mx_function_evaluation()

subroutine external_waves_oct_m::pw_mx_function_evaluation ( type(external_waves_t), intent(inout)  external_waves,
integer, intent(in)  wn,
real(real64), intent(in)  time,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  n_points,
real(real64), dimension(:,:), intent(out)  pw_field 
)
private

Evaluate expression for plane wave that uses predefeined Maxwell function.

Definition at line 828 of file external_waves.F90.

◆ get_pw_b_field()

subroutine external_waves_oct_m::get_pw_b_field ( type(external_waves_t), intent(in)  external_waves,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  pwidx,
real(real64), dimension(:,:), intent(in)  e_field,
real(real64), dimension(:,:), intent(out)  b_field 
)
private

Calculation of magnetic field for a plane wave.

Definition at line 855 of file external_waves.F90.

◆ bessel_source_eval()

subroutine, public external_waves_oct_m::bessel_source_eval ( type(external_waves_t), intent(inout)  external_waves,
real(real64), intent(in)  time,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  type_of_field,
real(real64), dimension(:, :), intent(out)  out_field_total,
type(derivatives_t), intent(in), optional  der 
)

Calculation of Bessel beam from parsed formula.

Definition at line 883 of file external_waves.F90.

◆ bessel_beam_function()

subroutine external_waves_oct_m::bessel_beam_function ( class(bessel_beam_t this,
integer, intent(in)  iline,
real(real64), dimension(:,:), intent(in)  shift,
class(mesh_t), intent(in)  mesh,
integer, intent(in)  n_points,
real(real64), intent(in)  time,
real(real64), dimension(3), intent(in)  k_vector,
real(real64), intent(in)  c_factor,
type(mxf_t), intent(in)  envelope_mxf,
complex(real64), dimension(:,:), intent(out)  bessel_field 
)
private

. Evaluation of the Bessel beam expression

Definition at line 1003 of file external_waves.F90.

◆ bessel_beam_init()

subroutine external_waves_oct_m::bessel_beam_init ( class(bessel_beam_t), intent(out)  this,
integer, intent(in)  nlines,
integer, intent(in)  dim 
)
private

. Initialization of Bessel beam arrays

Definition at line 1070 of file external_waves.F90.

◆ bessel_beam_finalize()

subroutine external_waves_oct_m::bessel_beam_finalize ( type(bessel_beam_t), intent(inout)  this)
private

. Finalize Bessel beam arrays

Definition at line 1095 of file external_waves.F90.