1#ifndef RPG_PROPAGATOR_H
2#define RPG_PROPAGATOR_H
11#include <rp/solvers/Propagator.h>
12#include <rpg/system/Types.h>
13#include <pscf/cuda/DeviceArray.h>
119 void dissociateQFields();
128 template <
int D>
inline
141 extern template class Propagator<1, Rpg::Types<1> >;
142 extern template class Propagator<2, Rpg::Types<2> >;
143 extern template class Propagator<3, Rpg::Types<3> >;
Dynamic array on the GPU device with aligned data.
Description of a regular grid of points in a periodic domain.
bool isSolved() const
Has the modified diffusion equation been solved?
MDE solver for one direction of one block.
Mesh< D > const & mesh() const
PropagatorTmpl< typename Types< D >::Propagator > PropagatorTmplT
DArray< typename Types< D >::RField > qFields_
MDE solver for one direction of one block.
DeviceArray< cudaReal > const & qAll()
Return the full array of q-fields as an unrolled 1D array.
void reallocate(int ns) override
Reallocate memory used by this propagator.
Rp::Propagator< D, Types< D > > RpPropagatorT
Direct base class.
void allocate(int ns, const Mesh< D > &mesh) override
Allocate memory used by this propagator.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
Periodic fields and crystallography.
Class templates for real-valued periodic fields.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.