11#include <pscf/solvers/PolymerTmpl.h>
15 template <
typename T>
class DArray;
19 template <
int D>
class Block;
24 template <
int D>
class CField;
67 :
public PolymerTmpl< Block<D>, Propagator<D>, std::complex<double> >
Block within a linear or branched block polymer.
Descriptor and solver for one polymer species.
void compute(DArray< CField< D > > const &wFields)
Compute solution to MDE and block concentrations.
Block< D > BlockT
Block type, for a block within a block polymer.
PolymerSpecies< std::complex< double > > PolymerSpeciesT
PolymerSpecies template base class.
PolymerTmpl< Block< D >, Propagator< D >, std::complex< double > > Base
Base class, partial template specialization.
Species< std::complex< double > > SpeciesT
Species template base class.
void clearUnitCellData()
Clear all data that depends on unit cell parameters.
Propagator< D > PropagatorT
Propagator type, for one direction within a block.
MDE solver for one direction of one block.
Descriptor for a linear or acyclic branched block polymer.
Pair< int > const & path(int is, int it) const
const Vertex & vertex(int id) const
Pair< int > const & propagatorId(int id) const
PolymerType::Enum type() const
Descriptor and MDE solver for a block polymer.
Edge & edge(int id) final
Propagator< D > & propagator(int blockId, int directionId)
Block< D > & block(int id)
virtual void solve(double phiTot=1.0)
Field of complex double precision values on an FFT mesh.
Base class for a molecular species (polymer or solvent).
std::complex< double > q() const
Ensemble ensemble() const
std::complex< double > mu() const
void setQ(std::complex< double > q)
std::complex< double > phi() const
Dynamically allocatable contiguous array template.
Complex periodic fields, CL-FTS (CPU).
Fields and FFTs for periodic boundary conditions (CPU)
Periodic fields and crystallography.
PSCF package top-level namespace.
Utility classes for scientific computation.