PSCF v1.3
|
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. |
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.
Pscf::Prdc::MixtureModifierReal< MT >::MixtureModifierReal | ( | ) |
Constructor.
Definition at line 21 of file MixtureModifierReal.tpp.
Pscf::Prdc::MixtureModifierReal< MT >::~MixtureModifierReal | ( | ) |
Destructor.
Definition at line 29 of file MixtureModifierReal.tpp.
void Pscf::Prdc::MixtureModifierReal< MT >::associate | ( | MT & | mixture | ) |
Create associations with a Mixture.
mixture | associated Mixture object |
Definition at line 36 of file MixtureModifierReal.tpp.
References UTIL_CHECK.
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.
monomerId | monomer type id |
kuhn | new value for the statistical segment length |
Definition at line 48 of file MixtureModifierReal.tpp.
void Pscf::Prdc::MixtureModifierReal< MT >::setPhiPolymer | ( | int | polymerId, |
double | phi ) |
Set the volume fraction for a polymer species.
polymerId | polymer species id |
phi | new value for the species volume fraction |
Definition at line 55 of file MixtureModifierReal.tpp.
void Pscf::Prdc::MixtureModifierReal< MT >::setMuPolymer | ( | int | polymerId, |
double | mu ) |
Set the chemical for a polymer species.
polymerId | polymer species id |
mu | new value for the species chemical potential |
Definition at line 63 of file MixtureModifierReal.tpp.
void Pscf::Prdc::MixtureModifierReal< MT >::setBlockLength | ( | int | polymerId, |
int | blockId, | ||
double | length ) |
Set the length for a block of a block polymer.
polymerId | polymer species id |
blockId | block identifier |
length | new value for the block length |
Definition at line 71 of file MixtureModifierReal.tpp.
void Pscf::Prdc::MixtureModifierReal< MT >::setPhiSolvent | ( | int | solventId, |
double | phi ) |
Set the volume fraction for a solvent species.
solventId | solvent species id |
phi | new value for the species volume fraction |
Definition at line 80 of file MixtureModifierReal.tpp.
void Pscf::Prdc::MixtureModifierReal< MT >::setMuSolvent | ( | int | solventId, |
double | mu ) |
Set the chemical for a solvent species.
solventId | solvent species id |
mu | new value for the species chemical potential |
Definition at line 88 of file MixtureModifierReal.tpp.
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.
solventId | solvent species id |
size | new value for the species size parameter |
Definition at line 96 of file MixtureModifierReal.tpp.
void Pscf::Prdc::MixtureModifierReal< MT >::setVMonomer | ( | double | vMonomer | ) |
Set the monomer reference volume for the mixture.
vMonomer | new value for the monomer reference volume |
Definition at line 104 of file MixtureModifierReal.tpp.
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.