PSCF v1.3
Pscf::Prdc::MixtureModifierReal< MT > Class Template Reference

Modifier for parameters of an associated mixture. More...

#include <MixtureModifierReal.h>

Public Member Functions

void clearUnitCellData ()
 Clear all data that depends on the unit cell parameters.
Lifetime
 MixtureModifierReal ()
 Constructor.
 ~MixtureModifierReal ()
 Destructor.
void associate (MT &mixture)
 Create associations with a Mixture.
Parameter Modification Functions
void setKuhn (int monomerId, double kuhn)
 Set the statistical segment length for one monomer type.
void setPhiPolymer (int polymerId, double phi)
 Set the volume fraction for a polymer species.
void setMuPolymer (int polymerId, double mu)
 Set the chemical for a polymer species.
void setBlockLength (int polymerId, int blockId, double length)
 Set the length for a block of a block polymer.
void setPhiSolvent (int solventId, double phi)
 Set the volume fraction for a solvent species.
void setMuSolvent (int solventId, double mu)
 Set the chemical for a solvent species.
void setSolventSize (int solventId, double size)
 Set the size (steric volume) for a solvent species.
void setVMonomer (double vMonomer)
 Set the monomer reference volume for the mixture.

Detailed Description

template<class MT>
class Pscf::Prdc::MixtureModifierReal< MT >

Modifier for parameters of an associated mixture.

Template parameter MT is a mixture class type, which is set to a Mixture<D> class in each of the implementations for real periodic fields.

A MixtureModifierReal provides an interface for a limited number of non-const operations that modify the parameters of an associated Mixture object. This interface is used to implement sweep and ramp operations that need to modify these parameters.

Each PSCF implementation for real periodic fields defines a class template int <D> MixtureModifier that is derived from a template specialization MixtureModifierReal< Mixture<D> >. The System<D> class provides public access to its Mixture<D> only through a const reference, but provides a non-const reference to an associated MixtureModifier. The MixtureModifier template thus defines a set of operations that modify parameters of the mixture that may be called via a non-const reference to a System.

Definition at line 36 of file MixtureModifierReal.h.

Constructor & Destructor Documentation

◆ MixtureModifierReal()

template<class MT>
Pscf::Prdc::MixtureModifierReal< MT >::MixtureModifierReal ( )

Constructor.

Definition at line 21 of file MixtureModifierReal.tpp.

◆ ~MixtureModifierReal()

template<class MT>
Pscf::Prdc::MixtureModifierReal< MT >::~MixtureModifierReal ( )

Destructor.

Definition at line 29 of file MixtureModifierReal.tpp.

Member Function Documentation

◆ associate()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::associate ( MT & mixture)

Create associations with a Mixture.

Parameters
mixtureassociated Mixture object

Definition at line 36 of file MixtureModifierReal.tpp.

References UTIL_CHECK.

◆ setKuhn()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setKuhn ( int monomerId,
double kuhn )

Set the statistical segment length for one monomer type.

This function resets the kuhn or statistical segment length value for a monomer type, and updates the associcated value in every block of that monomer type.

Parameters
monomerIdmonomer type id
kuhnnew value for the statistical segment length

Definition at line 48 of file MixtureModifierReal.tpp.

◆ setPhiPolymer()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setPhiPolymer ( int polymerId,
double phi )

Set the volume fraction for a polymer species.

Parameters
polymerIdpolymer species id
phinew value for the species volume fraction

Definition at line 55 of file MixtureModifierReal.tpp.

◆ setMuPolymer()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setMuPolymer ( int polymerId,
double mu )

Set the chemical for a polymer species.

Parameters
polymerIdpolymer species id
munew value for the species chemical potential

Definition at line 63 of file MixtureModifierReal.tpp.

◆ setBlockLength()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setBlockLength ( int polymerId,
int blockId,
double length )

Set the length for a block of a block polymer.

Parameters
polymerIdpolymer species id
blockIdblock identifier
lengthnew value for the block length

Definition at line 71 of file MixtureModifierReal.tpp.

◆ setPhiSolvent()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setPhiSolvent ( int solventId,
double phi )

Set the volume fraction for a solvent species.

Parameters
solventIdsolvent species id
phinew value for the species volume fraction

Definition at line 80 of file MixtureModifierReal.tpp.

◆ setMuSolvent()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setMuSolvent ( int solventId,
double mu )

Set the chemical for a solvent species.

Parameters
solventIdsolvent species id
munew value for the species chemical potential

Definition at line 88 of file MixtureModifierReal.tpp.

◆ setSolventSize()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setSolventSize ( int solventId,
double size )

Set the size (steric volume) for a solvent species.

The size is a dimensionless parameter given by the ratio size = (solvent molecular volume)/vMonomer, where vMonomer is the monomer reference volume.

Parameters
solventIdsolvent species id
sizenew value for the species size parameter

Definition at line 96 of file MixtureModifierReal.tpp.

◆ setVMonomer()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::setVMonomer ( double vMonomer)

Set the monomer reference volume for the mixture.

Parameters
vMonomernew value for the monomer reference volume

Definition at line 104 of file MixtureModifierReal.tpp.

◆ clearUnitCellData()

template<class MT>
void Pscf::Prdc::MixtureModifierReal< MT >::clearUnitCellData ( )

Clear all data that depends on the unit cell parameters.

This function marks all private data that depends on the values of the unit cell parameters as invalid, so that it can be recomputed before it is next needed. This function should be called after any change in unit cell parameters.

Definition at line 113 of file MixtureModifierReal.tpp.


The documentation for this class was generated from the following files: