43#include "./base/base_uses.f90"
48 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'qs_subsys_types'
58 INTEGER :: nelectron_total = -1
59 INTEGER :: nelectron_spin(2) = -1
63 LOGICAL :: use_ref_cell = .false.
80 IF (
ASSOCIATED(subsys%qs_kind_set)) &
82 IF (
ASSOCIATED(subsys%energy)) &
84 IF (
ASSOCIATED(subsys%force)) &
126 SUBROUTINE qs_subsys_get(subsys, atomic_kinds, atomic_kind_set, particles, particle_set, &
127 local_particles, molecules, molecule_set, &
128 molecule_kinds, molecule_kind_set, &
129 local_molecules, para_env, colvar_p, &
130 shell_particles, core_particles, gci, multipoles, &
131 natom, nparticle, ncore, nshell, nkind, atprop, virial, &
132 results, cell, cell_ref, use_ref_cell, energy, force, &
133 qs_kind_set, cp_subsys, nelectron_total, nelectron_spin)
137 POINTER :: atomic_kind_set
140 POINTER :: particle_set
144 POINTER :: molecule_set
147 POINTER :: molecule_kind_set
155 INTEGER,
INTENT(out),
OPTIONAL :: natom, nparticle, ncore, nshell, nkind
159 TYPE(
cell_type),
OPTIONAL,
POINTER :: cell, cell_ref
160 LOGICAL,
OPTIONAL :: use_ref_cell
165 POINTER :: qs_kind_set
167 INTEGER,
OPTIONAL :: nelectron_total
168 INTEGER,
DIMENSION(2),
OPTIONAL :: nelectron_spin
171 atomic_kinds=atomic_kinds, &
172 atomic_kind_set=atomic_kind_set, &
173 particles=particles, &
174 particle_set=particle_set, &
175 local_particles=local_particles, &
176 molecules=molecules, &
177 molecule_set=molecule_set, &
178 molecule_kinds=molecule_kinds, &
179 molecule_kind_set=molecule_kind_set, &
180 local_molecules=local_molecules, &
183 shell_particles=shell_particles, &
184 core_particles=core_particles, &
186 multipoles=multipoles, &
189 nparticle=nparticle, &
197 IF (
PRESENT(cell_ref)) cell_ref => subsys%cell_ref
198 IF (
PRESENT(use_ref_cell)) use_ref_cell = subsys%use_ref_cell
199 IF (
PRESENT(energy)) energy => subsys%energy
200 IF (
PRESENT(force)) force => subsys%force
201 IF (
PRESENT(qs_kind_set)) qs_kind_set => subsys%qs_kind_set
202 IF (
PRESENT(cp_subsys)) cp_subsys => subsys%cp_subsys
203 IF (
PRESENT(nelectron_total)) nelectron_total = subsys%nelectron_total
204 IF (
PRESENT(nelectron_spin)) nelectron_spin = subsys%nelectron_spin
223 local_particles, local_molecules, cell, &
224 cell_ref, use_ref_cell, energy, force, &
225 qs_kind_set, nelectron_total, nelectron_spin)
229 TYPE(
cell_type),
OPTIONAL,
POINTER :: cell, cell_ref
230 LOGICAL,
OPTIONAL :: use_ref_cell
235 POINTER :: qs_kind_set
236 INTEGER,
OPTIONAL :: nelectron_total
237 INTEGER,
DIMENSION(2),
OPTIONAL :: nelectron_spin
239 IF (
PRESENT(cp_subsys))
THEN
242 subsys%cp_subsys => cp_subsys
246 local_particles=local_particles, &
247 local_molecules=local_molecules, &
250 IF (
PRESENT(cell_ref))
THEN
253 subsys%cell_ref => cell_ref
256 IF (
PRESENT(use_ref_cell)) subsys%use_ref_cell = use_ref_cell
257 IF (
PRESENT(energy)) subsys%energy => energy
260 IF (
PRESENT(force)) subsys%force => force
261 IF (
PRESENT(qs_kind_set)) subsys%qs_kind_set => qs_kind_set
262 IF (
PRESENT(nelectron_total)) subsys%nelectron_total = nelectron_total
263 IF (
PRESENT(nelectron_spin)) subsys%nelectron_spin = nelectron_spin
represent a simple array based list of the given type
Define the atomic kind types and their sub types.
Holds information on atomic properties.
Handles all functions related to the CELL.
subroutine, public cell_release(cell)
releases the given cell (see doc/ReferenceCounting.html)
subroutine, public cell_retain(cell)
retains the given cell (see doc/ReferenceCounting.html)
Initialize the collective variables types.
set of type/routines to handle the storage of results in force_envs
types that represent a subsys, i.e. a part of the system
subroutine, public cp_subsys_release(subsys)
releases a subsys (see doc/ReferenceCounting.html)
subroutine, public cp_subsys_retain(subsys)
retains a subsys (see doc/ReferenceCounting.html)
subroutine, public cp_subsys_set(subsys, atomic_kinds, particles, local_particles, molecules, molecule_kinds, local_molecules, para_env, colvar_p, shell_particles, core_particles, gci, multipoles, results, cell)
sets various propreties of the subsys
subroutine, public cp_subsys_get(subsys, ref_count, atomic_kinds, atomic_kind_set, particles, particle_set, local_particles, molecules, molecule_set, molecule_kinds, molecule_kind_set, local_molecules, para_env, colvar_p, shell_particles, core_particles, gci, multipoles, natom, nparticle, ncore, nshell, nkind, atprop, virial, results, cell)
returns information about various attributes of the given subsys
stores a lists of integer that are local to a processor. The idea is that these integers represent ob...
Interface to the message passing library MPI.
represent a simple array based list of the given type
Define the molecule kind structure types and the corresponding functionality.
represent a simple array based list of the given type
Define the data structure for the molecule information.
Multipole structure: for multipole (fixed and induced) in FF based MD.
represent a simple array based list of the given type
Define the data structure for the particle information.
subroutine, public deallocate_qs_energy(qs_energy)
Deallocate a Quickstep energy data structure.
subroutine, public deallocate_qs_force(qs_force)
Deallocate a Quickstep force data structure.
Define the quickstep kind type and their sub types.
subroutine, public deallocate_qs_kind_set(qs_kind_set)
Destructor routine for a set of qs kinds.
types that represent a quickstep subsys
subroutine, public qs_subsys_release(subsys)
releases a subsys (see doc/ReferenceCounting.html)
subroutine, public qs_subsys_get(subsys, atomic_kinds, atomic_kind_set, particles, particle_set, local_particles, molecules, molecule_set, molecule_kinds, molecule_kind_set, local_molecules, para_env, colvar_p, shell_particles, core_particles, gci, multipoles, natom, nparticle, ncore, nshell, nkind, atprop, virial, results, cell, cell_ref, use_ref_cell, energy, force, qs_kind_set, cp_subsys, nelectron_total, nelectron_spin)
...
subroutine, public qs_subsys_set(subsys, cp_subsys, local_particles, local_molecules, cell, cell_ref, use_ref_cell, energy, force, qs_kind_set, nelectron_total, nelectron_spin)
...
represent a list of objects
Provides all information about an atomic kind.
type for the atomic properties
Type defining parameters related to the simulation cell.
contains arbitrary information which need to be stored
represents a system: atoms, molecules, their pos,vel,...
structure to store local (to a processor) ordered lists of integers.
stores all the informations relevant to an mpi environment
represent a list of objects
represent a list of objects
represent a list of objects
Provides all information about a quickstep kind.