11#include <pscf/chem/SolventSpecies.h>
12#include <rpg/solvers/Propagator.h>
13#include <prdc/cuda/RField.h>
16 template <
int D>
class Mesh;
98 using Pscf::Species::phi_;
99 using Pscf::Species::mu_;
100 using Pscf::Species::q_;
101 using Pscf::Species::ensemble_;
102 using Pscf::SolventSpecies::monomerId_;
103 using Pscf::SolventSpecies::size_;
133 cField_.allocate(meshPtr_->dimensions());
Description of a regular grid of points in a periodic domain.
int size() const
Get total number of grid points.
Field of real double precision values on an FFT mesh.
RField< D > const & cField() const
Get the monomer concentration field for this solvent.
void compute(RField< D > const &wField, double phiTot=1.0)
Compute monomer concentration field, q and phi and/or mu.
void allocate()
Allocate internal data containers.
void associate(Mesh< D > const &mesh)
Associate this object with a mesh.
SolventSpecies()
Constructor.
int monomerId() const
Get the monomer type id.
double size() const
Get the size (number of monomers) in this solvent.
double phi() const
Get the overall volume fraction for this species.
double mu() const
Get the chemical potential for this species (units kT=1).
Ensemble ensemble() const
Get the statistical ensemble for this species (open or closed).
double q() const
Get the molecular partition function for this species.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
Fields, FFTs, and utilities for periodic boundary conditions (CUDA)
Periodic fields and crystallography.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.