Octopus
charged_particle_oct_m Module Reference

Data Types

interface  charged_particle_t
 class for a charged classical particle More...
 

Functions/Subroutines

class(charged_particle_t) function, pointer charged_particle_constructor (namespace, grp)
 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 charged_particle_init (this, namespace, grp)
 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 charged_particle_init_interaction (this, interaction)
 
subroutine charged_particle_initialize (this)
 
logical function charged_particle_is_tolerance_reached (this, tol)
 
subroutine charged_particle_update_quantity (this, label)
 
subroutine charged_particle_init_interaction_as_partner (partner, interaction)
 
subroutine charged_particle_copy_quantities_to_interaction (partner, interaction)
 

Function/Subroutine Documentation

◆ charged_particle_constructor()

class(charged_particle_t) function, pointer charged_particle_oct_m::charged_particle_constructor ( type(namespace_t), intent(in)  namespace,
type(mpi_grp_t), intent(in)  grp 
)
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 175 of file charged_particle.F90.

◆ charged_particle_init()

subroutine, public charged_particle_oct_m::charged_particle_init ( class(charged_particle_t), intent(inout)  this,
type(namespace_t), intent(in)  namespace,
type(mpi_grp_t), intent(in)  grp 
)

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 194 of file charged_particle.F90.

◆ charged_particle_init_interaction()

subroutine charged_particle_oct_m::charged_particle_init_interaction ( class(charged_particle_t), intent(inout), target  this,
class(interaction_t), intent(inout)  interaction 
)
private

Definition at line 223 of file charged_particle.F90.

◆ charged_particle_initialize()

subroutine charged_particle_oct_m::charged_particle_initialize ( class(charged_particle_t), intent(inout)  this)
private

Definition at line 242 of file charged_particle.F90.

◆ charged_particle_is_tolerance_reached()

logical function charged_particle_oct_m::charged_particle_is_tolerance_reached ( class(charged_particle_t), intent(in)  this,
real(real64), intent(in)  tol 
)
private

Definition at line 253 of file charged_particle.F90.

◆ charged_particle_update_quantity()

subroutine charged_particle_oct_m::charged_particle_update_quantity ( class(charged_particle_t), intent(inout)  this,
character(len=*), intent(in)  label 
)
private

Definition at line 265 of file charged_particle.F90.

◆ charged_particle_init_interaction_as_partner()

subroutine charged_particle_oct_m::charged_particle_init_interaction_as_partner ( class(charged_particle_t), intent(in)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 285 of file charged_particle.F90.

◆ charged_particle_copy_quantities_to_interaction()

subroutine charged_particle_oct_m::charged_particle_copy_quantities_to_interaction ( class(charged_particle_t), intent(inout)  partner,
class(interaction_surrogate_t), intent(inout)  interaction 
)
private

Definition at line 311 of file charged_particle.F90.