Octopus
dispersive_medium_oct_m Module Reference

Data Types

interface  dispersive_medium_t
 dispersive medium for classical electrodynamics calculations More...
 

Functions/Subroutines

class(dispersive_medium_t) function, pointer dispersive_medium_constructor (namespace)
 The factory routine (or constructor) allocates a pointer of the corresponding type and then calls the init routine which is a type-bound procedure of the corresponding type. With this design, also derived classes can use the init routine of the parent class. More...
 
subroutine, public dispersive_medium_init (this, namespace)
 The init routine is a module level procedure This has the advantage that different classes can have different signatures for the initialization routines because they are not type-bound and thus also not inherited. More...
 
subroutine dispersive_medium_init_parallelization (this, grp)
 
subroutine dispersive_medium_init_interaction (this, interaction)
 
subroutine dispersive_medium_init_interaction_as_partner (partner, interaction)
 
subroutine dispersive_medium_initial_conditions (this)
 
logical function dispersive_medium_do_algorithmic_operation (this, operation, updated_quantities)
 
logical function dispersive_medium_is_tolerance_reached (this, tol)
 
subroutine dispersive_medium_copy_quantities_to_interaction (partner, interaction)
 
subroutine dispersive_medium_restart_write_data (this)
 
logical function dispersive_medium_restart_read_data (this)
 
subroutine dispersive_medium_update_kinetic_energy (this)
 
subroutine dispersive_medium_output_start (this)
 
subroutine dispersive_medium_output_write (this)
 
subroutine dispersive_medium_output_finish (this)
 
subroutine dispersive_medium_get_efield (this, time, efield)
 
subroutine dispersive_medium_finalize (this)
 

Variables

integer, parameter, public drude_medium = 0
 

Function/Subroutine Documentation

◆ dispersive_medium_constructor()

class(dispersive_medium_t) function, pointer dispersive_medium_oct_m::dispersive_medium_constructor ( type(namespace_t), intent(in)  namespace)
private

The factory routine (or constructor) allocates a pointer of the corresponding type and then calls the init routine which is a type-bound procedure of the corresponding type. With this design, also derived classes can use the init routine of the parent class.

Definition at line 217 of file dispersive_medium.F90.

◆ dispersive_medium_init()

subroutine, public dispersive_medium_oct_m::dispersive_medium_init ( class(dispersive_medium_t), intent(inout), target  this,
type(namespace_t), intent(in)  namespace 
)

The init routine is a module level procedure This has the advantage that different classes can have different signatures for the initialization routines because they are not type-bound and thus also not inherited.

Definition at line 236 of file dispersive_medium.F90.

◆ dispersive_medium_init_parallelization()

subroutine dispersive_medium_oct_m::dispersive_medium_init_parallelization ( class(dispersive_medium_t), intent(inout)  this,
type(mpi_grp_t), intent(in)  grp 
)
private

Definition at line 348 of file dispersive_medium.F90.

◆ dispersive_medium_init_interaction()

subroutine dispersive_medium_oct_m::dispersive_medium_init_interaction ( class(dispersive_medium_t), intent(inout), target  this,
class(interaction_t), intent(inout)  interaction 
)
private

Definition at line 383 of file dispersive_medium.F90.

◆ dispersive_medium_init_interaction_as_partner()

subroutine dispersive_medium_oct_m::dispersive_medium_init_interaction_as_partner ( class(dispersive_medium_t), intent(in)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 417 of file dispersive_medium.F90.

◆ dispersive_medium_initial_conditions()

subroutine dispersive_medium_oct_m::dispersive_medium_initial_conditions ( class(dispersive_medium_t), intent(inout)  this)
private

Definition at line 435 of file dispersive_medium.F90.

◆ dispersive_medium_do_algorithmic_operation()

logical function dispersive_medium_oct_m::dispersive_medium_do_algorithmic_operation ( class(dispersive_medium_t), intent(inout)  this,
class(algorithmic_operation_t), intent(in)  operation,
integer, dimension(:), intent(out), allocatable  updated_quantities 
)
private

Definition at line 447 of file dispersive_medium.F90.

◆ dispersive_medium_is_tolerance_reached()

logical function dispersive_medium_oct_m::dispersive_medium_is_tolerance_reached ( class(dispersive_medium_t), intent(in)  this,
real(real64), intent(in)  tol 
)
private

Definition at line 532 of file dispersive_medium.F90.

◆ dispersive_medium_copy_quantities_to_interaction()

subroutine dispersive_medium_oct_m::dispersive_medium_copy_quantities_to_interaction ( class(dispersive_medium_t), intent(inout)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 546 of file dispersive_medium.F90.

◆ dispersive_medium_restart_write_data()

subroutine dispersive_medium_oct_m::dispersive_medium_restart_write_data ( class(dispersive_medium_t), intent(inout)  this)
private

Definition at line 567 of file dispersive_medium.F90.

◆ dispersive_medium_restart_read_data()

logical function dispersive_medium_oct_m::dispersive_medium_restart_read_data ( class(dispersive_medium_t), intent(inout)  this)
private

Definition at line 607 of file dispersive_medium.F90.

◆ dispersive_medium_update_kinetic_energy()

subroutine dispersive_medium_oct_m::dispersive_medium_update_kinetic_energy ( class(dispersive_medium_t), intent(inout)  this)
private

Definition at line 649 of file dispersive_medium.F90.

◆ dispersive_medium_output_start()

subroutine dispersive_medium_oct_m::dispersive_medium_output_start ( class(dispersive_medium_t), intent(inout)  this)
private

Definition at line 663 of file dispersive_medium.F90.

◆ dispersive_medium_output_write()

subroutine dispersive_medium_oct_m::dispersive_medium_output_write ( class(dispersive_medium_t), intent(inout)  this)
private

Definition at line 737 of file dispersive_medium.F90.

◆ dispersive_medium_output_finish()

subroutine dispersive_medium_oct_m::dispersive_medium_output_finish ( class(dispersive_medium_t), intent(inout)  this)
private

Definition at line 781 of file dispersive_medium.F90.

◆ dispersive_medium_get_efield()

subroutine dispersive_medium_oct_m::dispersive_medium_get_efield ( class(dispersive_medium_t), intent(inout)  this,
real(real64), intent(in)  time,
real(real64), dimension(:, :), intent(inout), contiguous  efield 
)
private

Definition at line 797 of file dispersive_medium.F90.

◆ dispersive_medium_finalize()

subroutine dispersive_medium_oct_m::dispersive_medium_finalize ( type(dispersive_medium_t), intent(inout)  this)
private

Definition at line 824 of file dispersive_medium.F90.

Variable Documentation

◆ drude_medium

integer, parameter, public dispersive_medium_oct_m::drude_medium = 0

Definition at line 207 of file dispersive_medium.F90.