11#include <util/param/ParamComposite.h>
12#include <prdc/crystal/UnitCell.h>
13#include <pscf/mesh/Mesh.h>
19 template <
typename T>
class Signal;
20 template <>
class Signal<void>;
25 template <
int D>
class Basis;
68 template <
int D,
class FFT,
class WLT,
class FIT>
212 void writeWaves(std::string
const & filename)
const;
222 void writeStars(std::string
const & filename)
const;
229 void writeGroup(std::string
const & filename)
const;
267 std::string groupName_;
330 template <
int D,
class FFT,
class WLT,
class FIT>
inline
332 {
return unitCell_; }
335 template <
int D,
class FFT,
class WLT,
class FIT>
inline
337 {
return unitCell_; }
340 template <
int D,
class FFT,
class WLT,
class FIT>
inline
345 template <
int D,
class FFT,
class WLT,
class FIT>
inline
350 template <
int D,
class FFT,
class WLT,
class FIT>
inline
352 {
return *groupPtr_; }
355 template <
int D,
class FFT,
class WLT,
class FIT>
inline
357 {
return *basisPtr_; }
360 template <
int D,
class FFT,
class WLT,
class FIT>
inline
362 {
return *basisPtr_; }
365 template <
int D,
class FFT,
class WLT,
class FIT>
inline
370 template <
int D,
class FFT,
class WLT,
class FIT>
inline
375 template <
int D,
class FFT,
class WLT,
class FIT>
inline
377 {
return *waveListPtr_; }
380 template <
int D,
class FFT,
class WLT,
class FIT>
inline
382 {
return *waveListPtr_; }
385 template <
int D,
class FFT,
class WLT,
class FIT>
inline
387 {
return *fieldIoPtr_; }
390 template <
int D,
class FFT,
class WLT,
class FIT>
inline
392 {
return *fieldIoPtr_; }
395 template <
int D,
class FFT,
class WLT,
class FIT>
inline
401 template <
int D,
class FFT,
class WLT,
class FIT>
403 {
return groupName_; }
406 template <
int D,
class FFT,
class WLT,
class FIT>
408 {
return hasGroup_; }
413 template <
int D,
class FFT,
class WLT,
class FIT>
inline
414 FileMaster const & Domain<D,FFT,WLT,FIT>::fileMaster()
const
417 return * fileMasterPtr_;
Description of a regular grid of points in a periodic domain.
Symmetry-adapted Fourier basis for pseudo-spectral SCFT.
Fourier transform wrapper.
Crystallographic space group.
Base template for UnitCell<D> classes, D=1, 2 or 3.
bool hasBasis() const
Has a symmetry-adapted Fourier basis been initialized?
SpaceGroup< D > const & group() const
Get the SpaceGroup by const reference.
WLT & waveList()
Get the WaveList by non-const reference.
bool hasGroup() const
Has a space group been declared?
void setFileMaster(FileMaster &fileMaster)
Create association with a FileMaster, needed by FieldIo.
FIT & fieldIo()
Get the FieldIo by non-const reference.
Basis< D > & basis()
Get the Basis object by non-const reference.
void writeStars(std::string const &filename) const
Output information about stars and symmetrized basis functions.
UnitCell< D > & unitCell()
Get the UnitCell by non-const reference.
virtual void readParameters(std::istream &in)
Read body of parameter block (without opening and closing lines).
FFT & fft()
Get the FFT by non-const reference.
std::string groupName() const
Get the group name.
void makeBasis()
Construct basis if not done already.
UnitCell< D >::LatticeSystem lattice() const
Get the lattice type (enumeration value).
Mesh< D > & mesh()
Get the Mesh by non-const reference.
void writeGroup(std::string const &filename) const
Output all elements of the space group.
void readRGridFieldHeader(std::istream &in, int &nMonomer)
Read initialization data from header of an r-grid field file.
void writeWaves(std::string const &filename) const
Output information about waves.
A FileMaster manages input and output files for a simulation.
ParamComposite()
Constructor.
Notifier (or subject) in the Observer design pattern.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
Periodic fields and crystallography.
Class templates for real-valued periodic fields.
PSCF package top-level namespace.
Utility classes for scientific computation.