9#include <util/math/Constants.h>
39 void UnitCell<1>::setBasis()
44 rBasis_[0][0] = parameters_[0];
46 drBasis_[0](0,0) = 1.0;
58 if (buffer ==
"Lamellar" || buffer ==
"lamellar") {
61 UTIL_THROW(
"Invalid UnitCell<1>::LatticeSystem value input");
78 UTIL_THROW(
"Invalid value of UnitCell<1>::Lamellar");
91 isInitialized_ =
false;
92 lattice_ = other.lattice_;
95 for (
int i = 0; i < nParameter_; ++i) {
111 isInitialized_ =
false;
124 for (
int i = 0; i < nParameter_; ++i) {
125 parameters_[i] = parameters[i];
135 return rBasis_[0][0];
FArray< double, 6 > parameters_
Parameters used to describe the unit cell.
int nParameter_
Number of parameters required to specify unit cell.
Base template for UnitCell<D> classes, D=1, 2 or 3.
static const double Pi
Trigonometric constant Pi.
A fixed capacity (static) contiguous array with a variable logical size.
int size() const
Return logical size of this array (i.e., number of elements).
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
PSCF package top-level namespace.
Utility classes for scientific computation.
std::istream & operator>>(std::istream &in, Pair< Data > &pair)
Input a Pair from an istream.
std::ostream & operator<<(std::ostream &out, const Pair< Data > &pair)
Output a Pair to an ostream, without line breaks.