Octopus
quantity_oct_m Module Reference

This module defines the quantity_t class and the IDs for quantities, which can be exposed by a system, and used by an interaction. More...

Detailed Description

This module defines the quantity_t class and the IDs for quantities, which can be exposed by a system, and used by an interaction.

A special case of quantities, the so-called couplings are used to transfer information from a system to the interactions. Other quantities can be used for output purposes.

An interaction partner (derived from interaction_partner_t) needs to update the behaviour of the quantity by setting

thisquantities(<quantity_id>)updated_on_demand thisquantities(<quantity_id>)required thisquantities(<quantity_id>)always_available

For the details of these flags see the documentation of quantity_t

Interactions also need to declare, which quantities they require from the system and the interaction partner:

! From the system: thissystem_quantities = [<system_quantity1_id>, <system_quantity2_id>, ...]

! From the partner: thiscouplings_from_partner = [<partner_quantity1_id>, <partner_quantity1_id>, ...]

Data Types

type  quantity_t
 Systems (system_t) can expose quantities that can be used to calculate interactions with other systems. More...
 

Variables

integer, parameter, public position = 1
 
integer, parameter, public velocity = 2
 
integer, parameter, public current = 3
 
integer, parameter, public density = 4
 
integer, parameter, public scalar_potential = 5
 
integer, parameter, public vector_potential = 6
 
integer, parameter, public e_field = 7
 
integer, parameter, public b_field = 8
 
integer, parameter, public mass = 9
 
integer, parameter, public charge = 10
 
integer, parameter, public permittivity = 11
 
integer, parameter, public permeability = 12
 
integer, parameter, public e_conductivity = 13
 
integer, parameter, public m_conductivity = 14
 
integer, parameter, public dipole = 15
 
integer, parameter, public max_quantities = 15
 
character(len=17), dimension(max_quantities), parameter, public quantity_label = (/ "position ", "velocity ", "current ", "density ", "scalar potential", "vector potential", "E field ", "B field ", "mass ", "charge ", "permittivity ", "permeability ", "e_conductivity ", "m_conductivity ", "dipole " /)
 

Variable Documentation

◆ position

integer, parameter, public quantity_oct_m::position = 1

Definition at line 146 of file quantity.F90.

◆ velocity

integer, parameter, public quantity_oct_m::velocity = 2

Definition at line 146 of file quantity.F90.

◆ current

integer, parameter, public quantity_oct_m::current = 3

Definition at line 146 of file quantity.F90.

◆ density

integer, parameter, public quantity_oct_m::density = 4

Definition at line 146 of file quantity.F90.

◆ scalar_potential

integer, parameter, public quantity_oct_m::scalar_potential = 5

Definition at line 146 of file quantity.F90.

◆ vector_potential

integer, parameter, public quantity_oct_m::vector_potential = 6

Definition at line 146 of file quantity.F90.

◆ e_field

integer, parameter, public quantity_oct_m::e_field = 7

Definition at line 146 of file quantity.F90.

◆ b_field

integer, parameter, public quantity_oct_m::b_field = 8

Definition at line 146 of file quantity.F90.

◆ mass

integer, parameter, public quantity_oct_m::mass = 9

Definition at line 146 of file quantity.F90.

◆ charge

integer, parameter, public quantity_oct_m::charge = 10

Definition at line 146 of file quantity.F90.

◆ permittivity

integer, parameter, public quantity_oct_m::permittivity = 11

Definition at line 146 of file quantity.F90.

◆ permeability

integer, parameter, public quantity_oct_m::permeability = 12

Definition at line 146 of file quantity.F90.

◆ e_conductivity

integer, parameter, public quantity_oct_m::e_conductivity = 13

Definition at line 146 of file quantity.F90.

◆ m_conductivity

integer, parameter, public quantity_oct_m::m_conductivity = 14

Definition at line 146 of file quantity.F90.

◆ dipole

integer, parameter, public quantity_oct_m::dipole = 15

Definition at line 146 of file quantity.F90.

◆ max_quantities

integer, parameter, public quantity_oct_m::max_quantities = 15

Definition at line 146 of file quantity.F90.

◆ quantity_label

character(len=17), dimension(max_quantities), parameter, public quantity_oct_m::quantity_label = (/ "position ", "velocity ", "current ", "density ", "scalar potential", "vector potential", "E field ", "B field ", "mass ", "charge ", "permittivity ", "permeability ", "e_conductivity ", "m_conductivity ", "dipole " /)

Definition at line 165 of file quantity.F90.