1#ifndef PSCF_CORRELATION_POLYMER_H
2#define PSCF_CORRELATION_POLYMER_H
12#include <util/containers/DArray.h>
13#include <util/containers/DMatrix.h>
14#include <util/containers/GArray.h>
31 template <
typename WT>
120 double computeOmega(
int ia,
int ib,
double prefactor,
double kSq)
246 double rSq(
int i,
int j)
const;
315 template <
typename WT>
inline
320 template <
typename WT>
inline
322 {
return totalLength_; }
325 template <
typename WT>
inline
330 template <
typename WT>
inline
332 {
return blockIds_[i]; }
335 template <
typename WT>
inline
337 {
return length_[i]; }
340 template <
typename WT>
inline
342 {
return rSq_(i, j); }
347 template <
typename WT>
inline
349 {
return *speciesPtr_; }
352 extern template class Polymer<double>;
double length(int i) const
Get the length of each block.
double computeOmega(int ia, int ib, double prefactor, double kSq) const
Compute intramolecular correlation function for a pair of blocks.
int nBlock() const
Get the number of blocks in the associated polymer species.
double rSq(int i, int j) const
Get the mean-squared length of path between blocks i and j.
void associate(PolymerSpecies< WT > const &polymer)
Create association with a PolymerSpecies.
Polymer()
Default constructor.
double phi() const
Return the volume fraction of this polymer species.
void allocate(int nMonomer)
Allocate memory and initialize immutable data.
void setup(Array< double > const &kuhn)
Set private mutable data.
double totalLength() const
Return the sum of lengths of all blocks in this polymer species.
void computeOmegaTotal(double prefactor, Array< double > const &kSq, Array< double > &correlations) const
Compute total intramolecular correlation function.
GArray< int > const & blockIds(int i) const
Get a GArray of block ids for all blocks of one monomer type.
Descriptor for a linear or acyclic branched block polymer.
Array container class template.
Dynamically allocatable contiguous array template.
Dynamically allocated Matrix.
An automatically growable array, analogous to a std::vector.
Intramolecular correlations in homogeneous systems.
PSCF package top-level namespace.