1#ifndef RPG_MASK_GEN_FILM_H
2#define RPG_MASK_GEN_FILM_H
11#include <rpg/system/System.h>
12#include <prdc/environment/FilmFieldGenMaskBase.h>
68 double stress(
int paramId)
const;
153 {
return system().domain().groupName(); }
158 {
return system().domain().unitCell().rBasis(
id); }
160 #ifndef RPG_MASK_GEN_FILM_TPP
RealVec< D > normalVecCurrent_
The lattice vector normal to the film used to generate these fields.
int normalVecId() const
Get value of normalVecId.
double fBulk_
Reference free energy used to calculate stress normal to the film.
bool hasFBulk() const
Check whether a value of fBulk was provided.
FSArray< bool, 6 > modifyFlexibleParams(FSArray< bool, 6 > current, UnitCell< D > const &cell) const
Modifies a flexibleParams array to be compatible with this mask.
double interfaceThickness() const
Get value of interfaceThickness.
double excludedThickness() const
Get value of excludedThickness.
FilmFieldGenMaskBase()
Constructor.
A RealVec<D, T> is D-component vector with elements of floating type T.
Field Generator for thin-film masks.
void compute()
Compute the field and store where the System can access.
double modifyStress(int paramId, double stress) const
Modify stress value in direction normal to the film.
System< D > & system()
Get the System associated with this object by reference.
void setFlexibleParams() const
Modifies iterator().flexibleParams_ to be compatible with the mask.
double stress(int paramId) const
Get contribution to the stress from this mask.
~FilmFieldGenMask()
Destructor.
FilmFieldGenMask()
Default constructor.
std::string systemSpaceGroup() const
Get the space group name for this system.
RealVec< D > systemLatticeVector(int id) const
Get one of the lattice vectors for this system.
Main class, representing one complete system.
void setClassName(const char *className)
Set class name string.
Periodic fields and crystallography.
SCFT and PS-FTS with real periodic fields (GPU)
PSCF package top-level namespace.