12#include <rpg/field/FieldIo.h>
13#include <prdc/solvers/MixturePrdc.tpp>
14#include <prdc/cuda/FFT.h>
15#include <prdc/cuda/RField.h>
21 using namespace Prdc::Cuda;
38 MixturePrdcT::readParameters(in);
41 useBatchedFFT_ =
true;
49 void Mixture<D>::eqS(FieldT& A,
double c)
const
51 const int nx = mesh().size();
60 void Mixture<D>::addEqV(FieldT& A, FieldT
const & B)
const
62 const int nx = mesh().size();
72 void Mixture<D>::allocateBlocks()
75 for (i = 0; i < nPolymer(); ++i) {
76 for (j = 0; j < polymer(i).nBlock(); ++j) {
77 polymer(i).block(j).allocate(ds(), useBatchedFFT_);
void readParameters(std::istream &in) override
Read all parameters and initialize.
typename Prdc::MixturePrdc< D, Polymer< D >, Solvent< D > > MixturePrdcT
Direct (parent) base class.
ScalarParam< Type > & readOptional(std::istream &in, const char *label, Type &value)
Add and read a new optional ScalarParam < Type > object.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
void addEqV(Array< double > &a, Array< double > const &b)
Vector addition in-place, a[i] += b[i].
void eqS(Array< double > &a, double b)
Vector assignment, a[i] = b.
Periodic fields and crystallography.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.