15#include "Propagator.h"
16#include <rpg/field/FieldIo.h>
17#include <prdc/solvers/MixturePrdc.tpp>
18#include <prdc/cuda/FFT.h>
19#include <prdc/cuda/RField.h>
25 using namespace Prdc::Cuda;
42 MixturePrdcT::readParameters(in);
45 useBatchedFFT_ =
true;
53 void Mixture<D>::eqS(FieldT& A,
double c)
const
55 const int nx = mesh().size();
64 void Mixture<D>::addEqV(FieldT& A, FieldT
const & B)
const
66 const int nx = mesh().size();
76 void Mixture<D>::allocateBlocks()
79 for (i = 0; i < nPolymer(); ++i) {
80 for (j = 0; j < polymer(i).nBlock(); ++j) {
81 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 >, Types< 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.