13#include <pscf/solvers/MixtureTmpl.h>
14#include <pscf/inter/Interaction.h>
15#include <util/containers/DArray.h>
103 void setKuhn(
int monomerId,
double kuhn);
151 Domain const * domainPtr_;
154 Domain const & domain()
const;
163 inline Domain const & Mixture::domain()
const
One-dimensional spatial domain and discretization grid.
Mixture of polymers and solvents.
void readParameters(std::istream &in)
Read all parameters and initialize.
Propagator::CField CField
Monomer concentration or volume fraction field type.
void setKuhn(int monomerId, double kuhn)
Reset statistical segment length for one monomer type.
void setDomain(Domain const &domain)
Create an association with the domain and allocate memory.
Propagator::WField WField
Monomer chemical potential field type.
void compute(DArray< WField > const &wFields, DArray< CField > &cFields)
Compute concentrations.
A mixture of polymer and solvent species.
Polymer & polymer(int id)
Get a polymer object.
int nBlock() const
Get number of total blocks in the mixture across all polymers.
int nSolvent() const
Get number of solvent (point particle) species.
double vMonomer() const
Get monomer reference volume (set to 1.0 by default).
Polymer Polymer
Polymer species solver typename.
int nMonomer() const
Get number of monomer types.
Monomer const & monomer(int id) const
Get a Monomer type descriptor (const reference).
Solvent & solvent(int id)
Set a solvent solver object.
Solvent Solvent
Solvent species solver typename.
int nPolymer() const
Get number of polymer species.
ScalarParam< Type > & read(std::istream &in, const char *label, Type &value)
Add and read a new required ScalarParam < Type > object.
void setClassName(const char *className)
Set class name string.
ScalarParam< Type > & readOptional(std::istream &in, const char *label, Type &value)
Add and read a new optional ScalarParam < Type > object.
#define UTIL_ASSERT(condition)
Assertion macro suitable for debugging serial or parallel code.
C++ namespace for polymer self-consistent field theory (PSCF).