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))
THEN
83 IF (
ASSOCIATED(subsys%energy))
THEN
86 IF (
ASSOCIATED(subsys%force))
THEN
129 SUBROUTINE qs_subsys_get(subsys, atomic_kinds, atomic_kind_set, particles, particle_set, &
130 local_particles, molecules, molecule_set, &
131 molecule_kinds, molecule_kind_set, &
132 local_molecules, para_env, colvar_p, &
133 shell_particles, core_particles, gci, multipoles, &
134 natom, nparticle, ncore, nshell, nkind, atprop, virial, &
135 results, cell, cell_ref, use_ref_cell, energy, force, &
136 qs_kind_set, cp_subsys, nelectron_total, nelectron_spin)
140 POINTER :: atomic_kind_set
143 POINTER :: particle_set
147 POINTER :: molecule_set
150 POINTER :: molecule_kind_set
158 INTEGER,
INTENT(out),
OPTIONAL :: natom, nparticle, ncore, nshell, nkind
162 TYPE(
cell_type),
OPTIONAL,
POINTER :: cell, cell_ref
163 LOGICAL,
OPTIONAL :: use_ref_cell
168 POINTER :: qs_kind_set
170 INTEGER,
OPTIONAL :: nelectron_total
171 INTEGER,
DIMENSION(2),
OPTIONAL :: nelectron_spin
174 atomic_kinds=atomic_kinds, &
175 atomic_kind_set=atomic_kind_set, &
176 particles=particles, &
177 particle_set=particle_set, &
178 local_particles=local_particles, &
179 molecules=molecules, &
180 molecule_set=molecule_set, &
181 molecule_kinds=molecule_kinds, &
182 molecule_kind_set=molecule_kind_set, &
183 local_molecules=local_molecules, &
186 shell_particles=shell_particles, &
187 core_particles=core_particles, &
189 multipoles=multipoles, &
192 nparticle=nparticle, &
200 IF (
PRESENT(cell_ref)) cell_ref => subsys%cell_ref
201 IF (
PRESENT(use_ref_cell)) use_ref_cell = subsys%use_ref_cell
202 IF (
PRESENT(energy)) energy => subsys%energy
203 IF (
PRESENT(force)) force => subsys%force
204 IF (
PRESENT(qs_kind_set)) qs_kind_set => subsys%qs_kind_set
205 IF (
PRESENT(cp_subsys)) cp_subsys => subsys%cp_subsys
206 IF (
PRESENT(nelectron_total)) nelectron_total = subsys%nelectron_total
207 IF (
PRESENT(nelectron_spin)) nelectron_spin = subsys%nelectron_spin
226 local_particles, local_molecules, cell, &
227 cell_ref, use_ref_cell, energy, force, &
228 qs_kind_set, nelectron_total, nelectron_spin)
232 TYPE(
cell_type),
OPTIONAL,
POINTER :: cell, cell_ref
233 LOGICAL,
OPTIONAL :: use_ref_cell
238 POINTER :: qs_kind_set
239 INTEGER,
OPTIONAL :: nelectron_total
240 INTEGER,
DIMENSION(2),
OPTIONAL :: nelectron_spin
242 IF (
PRESENT(cp_subsys))
THEN
245 subsys%cp_subsys => cp_subsys
249 local_particles=local_particles, &
250 local_molecules=local_molecules, &
253 IF (
PRESENT(cell_ref))
THEN
256 subsys%cell_ref => cell_ref
259 IF (
PRESENT(use_ref_cell)) subsys%use_ref_cell = use_ref_cell
260 IF (
PRESENT(energy)) subsys%energy => energy
263 IF (
PRESENT(force)) subsys%force => force
264 IF (
PRESENT(qs_kind_set)) subsys%qs_kind_set => qs_kind_set
265 IF (
PRESENT(nelectron_total)) subsys%nelectron_total = nelectron_total
266 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_set(subsys, atomic_kinds, particles, local_particles, molecules, molecule_kinds, local_molecules, para_env, colvar_p, shell_particles, core_particles, gci, multipoles, results, cell, cell_ref, use_ref_cell)
sets various propreties of the subsys
subroutine, public cp_subsys_release(subsys)
releases a subsys (see doc/ReferenceCounting.html)
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, cell_ref, use_ref_cell)
returns information about various attributes of the given subsys
subroutine, public cp_subsys_retain(subsys)
retains a subsys (see doc/ReferenceCounting.html)
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.