1#ifndef PSCF_FH_INTERACTION_H
2#define PSCF_FH_INTERACTION_H
11#include <util/param/ParamComposite.h>
12#include <util/containers/DMatrix.h>
13#include <util/containers/Matrix.h>
14#include <util/containers/Array.h>
172 double chi(
int i,
int j)
const;
202 void updateMembers();
211 {
return nMonomer_; }
217 {
return chi_(i, j); }
220 {
return chiInverse_(i, j); }
void setNMonomer(int nMonomer)
Set the number of monomer types.
virtual void computeC(Array< double > const &w, Array< double > &c, double &xi) const
Compute concentration from chemical potential fields.
virtual void computeW(Array< double > const &c, Array< double > &w) const
Compute chemical potential from concentration.
virtual void computeXi(Array< double > const &w, double &xi) const
Compute Langrange multiplier xi from chemical potential fields.
FhInteraction & operator=(FhInteraction const &other)
Assignment.
virtual void readParameters(std::istream &in)
Read chi parameters.
int nMonomer() const
Get number of monomer types.
FhInteraction()
Constructor.
Matrix< double > const & chi() const
Return the chi matrix by const reference.
virtual void computeDwDc(Array< double > const &c, Matrix< double > &dWdC) const
Compute second derivatives of free energy.
virtual double fHelmholtz(Array< double > const &c) const
Compute excess Helmholtz free energy per monomer.
virtual ~FhInteraction()
Destructor.
double chiInverse(int i, int j) const
Return one element of the inverse chi matrix.
void setChi(Matrix< double > const &chi)
Assign values for all elements of the chi matrix.
Interaction model for complex Langevin FTS.
Array container class template.
Dynamically allocated Matrix.
Two-dimensional array container template (abstract).
ParamComposite()
Constructor.
File containing preprocessor macros for error handling.
PSCF package top-level namespace.