1#ifndef PSCF_MIXTURE_TMPL_H
2#define PSCF_MIXTURE_TMPL_H
11#include <pscf/chem/MixtureBase.h>
12#include <util/param/ParamComposite.h>
13#include <util/containers/DArray.h>
25 template <
class PT,
class ST>
163 template <
class PT,
class ST>
167 return polymers_[id];
170 template <
class PT,
class ST>
174 return polymers_[id];
177 template <
class PT,
class ST>
181 return solvents_[id];
184 template <
class PT,
class ST>
188 return solvents_[id];
192#include "MixtureTmpl.tpp"
int nMonomer_
Number of monomer types.
int nPolymer_
Number of polymer species.
int nBlock_
Number of blocks total, across all polymers.
int nSolvent_
Number of solvent species.
double vMonomer_
Monomer reference volume (set to 1.0 by default).
MixtureBase()
Constructor.
DArray< Monomer > monomers_
Array of monomer type descriptors.
SolventT & solvent(int id)
Get a solvent solver object.
PolymerSpecies const & polymerSpecies(int id) const final
Get a PolymerSpecies descriptor by const reference.
typename PT::BlockT BlockT
Block polymer block type.
virtual void readParameters(std::istream &in)
Read parameters from file and initialize.
PT PolymerT
Polymer species solver type.
~MixtureTmpl()
Destructor.
PolymerT & polymer(int id)
Get a polymer solver object by non-const reference.
MixtureTmpl()
Constructor.
SolventSpecies const & solventSpecies(int id) const final
Set a SolventSpecies descriptor object by const reference.
typename BlockT::PropagatorT PropagatorT
Polymer block propagator type.
ST SolventT
Solvent species solver type.
Descriptor for a linear or acyclic branched block polymer.
PT PolymerT
Polymer species solver type.
ST SolventT
Solvent species solver type.
Descriptor for a solvent species.
Dynamically allocatable contiguous array template.
ParamComposite()
Constructor.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
PSCF package top-level namespace.