PSCF v1.1
Public Member Functions | List of all members
Pscf::Fd1d::HomogeneousComparison Class Reference

Command to compute properties of homogeneous reference system. More...

#include <HomogeneousComparison.h>

Inheritance diagram for Pscf::Fd1d::HomogeneousComparison:
Pscf::Fd1d::SystemAccess

Public Member Functions

 HomogeneousComparison ()
 Default constructor. More...
 
 HomogeneousComparison (System &system)
 Constructor. More...
 
 ~HomogeneousComparison ()
 Destructor. More...
 
void compute (int mode)
 Compute properties of a homogeneous reference system. More...
 
void output (int mode, std::ostream &out)
 Output comparison to a homogeneous reference system. More...
 
- Public Member Functions inherited from Pscf::Fd1d::SystemAccess
 SystemAccess ()
 Default constructor. More...
 
 SystemAccess (System &system)
 Constructor. More...
 
 ~SystemAccess ()
 Destructor. More...
 
virtual void setSystem (System &system)
 Set the system after construction. More...
 
const Systemsystem () const
 Get parent System by reference. More...
 
Systemsystem ()
 Get parent System by reference. More...
 
const Mixturemixture () const
 Get Mixture by reference. More...
 
Mixturemixture ()
 Get Mixture by reference. More...
 
const Domaindomain () const
 Get spatial domain (including grid info) by reference. More...
 
Domaindomain ()
 Get spatial domain (including grid info) by reference. More...
 
const Interactioninteraction () const
 Get interaction (i.e., excess free energy model) by reference. More...
 
Interactioninteraction ()
 Get interaction (i.e., excess free energy model) by reference. More...
 
const Homogeneous::Mixturehomogeneous () const
 Get homogeneous mixture (for reference calculations). More...
 
Homogeneous::Mixturehomogeneous ()
 Get homogeneous mixture (for reference calculations). More...
 
FileMasterfileMaster ()
 Get FileMaster by reference. More...
 
DArray< System::WField > & wFields ()
 Get array of all chemical potential fields. More...
 
System::WFieldwField (int monomerId)
 Get chemical potential field for a specific monomer type. More...
 
DArray< System::CField > & cFields ()
 Get array of all chemical potential fields. More...
 
System::CFieldcField (int monomerId)
 Get chemical potential field for a specific monomer type. More...
 

Detailed Description

Command to compute properties of homogeneous reference system.

Definition at line 21 of file HomogeneousComparison.h.

Constructor & Destructor Documentation

◆ HomogeneousComparison() [1/2]

Pscf::Fd1d::HomogeneousComparison::HomogeneousComparison ( )

Default constructor.

Definition at line 28 of file HomogeneousComparison.cpp.

◆ HomogeneousComparison() [2/2]

Pscf::Fd1d::HomogeneousComparison::HomogeneousComparison ( System system)

Constructor.

Definition at line 35 of file HomogeneousComparison.cpp.

◆ ~HomogeneousComparison()

Pscf::Fd1d::HomogeneousComparison::~HomogeneousComparison ( )

Destructor.

Definition at line 42 of file HomogeneousComparison.cpp.

Member Function Documentation

◆ compute()

void Pscf::Fd1d::HomogeneousComparison::compute ( int  mode)

Compute properties of a homogeneous reference system.

This function should be called after iterator().solve() to compute properties of a homogeneous reference system to which the properties of the system of interest can be compared. The value of the mode parameter controls the choice of homogeneous reference system used for this comparison.

Mode parameter values:

  • mode = 0 : homogeneous system with same phi's
  • mode = 1,2 : homogeneous system with same mu's

The difference between mode indices 1 and 2 is the initial guess used in the iterative computation of the composition of the homogeneous reference system:

  • mode = 1 : composition at last grid point (nx -1)
  • mode = 2 : composition at first grid point (0)

Mode indices 1 and 2 are intended to be used for calculation of excess properties in, e.g., computation of properties of a micelle or an interface.

Parameters
modemode index

Definition at line 54 of file HomogeneousComparison.cpp.

References Util::DArray< Data >::allocate(), Util::Array< Data >::capacity(), Pscf::Homogeneous::Mixture::computeFreeEnergy(), Pscf::Homogeneous::Mixture::computeMu(), Pscf::Homogeneous::Mixture::computePhi(), Pscf::Fd1d::SystemAccess::domain(), Pscf::Fd1d::SystemAccess::homogeneous(), Pscf::Fd1d::SystemAccess::interaction(), Util::DArray< Data >::isAllocated(), Pscf::Fd1d::SystemAccess::mixture(), Pscf::MixtureTmpl< TP, TS >::nPolymer(), Pscf::MixtureTmpl< TP, TS >::nSolvent(), Pscf::Fd1d::Domain::nx(), Pscf::MixtureTmpl< TP, TS >::polymer(), Pscf::Homogeneous::Mixture::setComposition(), UTIL_CHECK, and UTIL_THROW.

Referenced by Pscf::Fd1d::Sweep::getSolution(), and Pscf::Fd1d::System::readCommands().

◆ output()

void Pscf::Fd1d::HomogeneousComparison::output ( int  mode,
std::ostream &  out 
)

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