PSCF v1.3
Pscf::Rpg::ScftThermo< D > Class Template Reference

Computes SCFT free energies. More...

#include <ScftThermo.h>

Inheritance diagram for Pscf::Rpg::ScftThermo< D >:
Pscf::Prdc::ScftReal< D, System< D > > Pscf::Prdc::SystemConstRefReal< System< D > >

Public Types

using Base = ScftReal<D, System<D> >
 Alias for base class.
Public Types inherited from Pscf::Prdc::ScftReal< D, System< D > >
using Base
 Base class type name alias.
using SystemT
 Parent System type name alias.

Public Member Functions

 ScftThermo (System< D > const &system)
 Constructor.
Public Member Functions inherited from Pscf::Prdc::ScftReal< D, System< D > >
 ScftReal (SystemT const &system)
 Constructor.
virtual ~ScftReal ()
 Destructor.
void compute ()
 Compute SCFT free energy density and pressure for current fields.
void clear ()
 Clear all thermodynamic data.
bool hasData () const
 Have free energies and pressure been computed?
double fHelmholtz () const
 Get total Helmholtz free energy per monomer / kT.
double fIdeal () const
 Get the ideal gas contribution to fHelmholtz.
double fInter () const
 Get the interaction contribution to fHelmholtz.
double fExt () const
 Get the external field contribution to fHelmholtz.
double pressure () const
 Get the precomputed pressure times monomer volume / kT.
void write (std::ostream &out)
 Write SCFT thermodynamic properties to a file.

Protected Types

using FieldT = typename Base::FieldT
 Alias for r-grid field type.

Protected Member Functions

double innerProduct (FieldT const &A, FieldT const &B) const override
 Inner product of fields (sum of elements on a grid).
Protected Member Functions inherited from Pscf::Prdc::ScftReal< D, System< D > >
virtual double innerProduct (FieldT const &A, FieldT const &B) const
 Inner product of two fields.
Protected Member Functions inherited from Pscf::Prdc::SystemConstRefReal< System< D > >
 SystemConstRefReal ()
 Default constructor.
 SystemConstRefReal (SystemT const &system)
 Constructor.
 ~SystemConstRefReal ()
 Destructor.
void associate (SystemT const &system)
 Create associations with a system and its components.
SystemT const & system () const
 Get the associated System.
MixtureT const & mixture () const
 Get the Mixture.
InteractionT const & interaction () const
 Get the Interaction.
DomainT const & domain () const
 Get the Domain.
CFieldContainerT const & c () const
 Get the concentration (c) field container.
WFieldContainerT const & w () const
 Get the chemical potential (w) field container.
WFieldContainerT const & h () const
 Get the external potential (h) field container.
MaskT const & mask () const
 Get the mask.
FileMaster const & fileMaster () const
 Get the FileMaster.

Detailed Description

template<int D>
class Pscf::Rpg::ScftThermo< D >

Computes SCFT free energies.

Definition at line 26 of file rpg/scft/ScftThermo.h.

Member Typedef Documentation

◆ Base

template<int D>
using Pscf::Rpg::ScftThermo< D >::Base = ScftReal<D, System<D> >

Alias for base class.

Definition at line 31 of file rpg/scft/ScftThermo.h.

◆ FieldT

template<int D>
using Pscf::Rpg::ScftThermo< D >::FieldT = typename Base::FieldT
protected

Alias for r-grid field type.

Definition at line 43 of file rpg/scft/ScftThermo.h.

Constructor & Destructor Documentation

◆ ScftThermo()

template<int D>
Pscf::Rpg::ScftThermo< D >::ScftThermo ( System< D > const & system)

Constructor.

Parameters
systemparent System

Definition at line 25 of file ScftThermo.cu.

References Pscf::Prdc::ScftReal< D, System< D > >::system().

Member Function Documentation

◆ innerProduct()

template<int D>
double Pscf::Rpg::ScftThermo< D >::innerProduct ( FieldT const & A,
FieldT const & B ) const
overrideprotected

Inner product of fields (sum of elements on a grid).

Parameters
A1st field
B2nd field
Returns
sum of product A[i]*B[i] of values at mesh nodes.

Definition at line 33 of file ScftThermo.cu.


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