1#ifndef RPC_ITERATOR_TPP
2#define RPC_ITERATOR_TPP
13#include <rpc/system/System.h>
14#include <prdc/environment/Environment.h>
55 system().domain().unitCell().nParameter());
86 if (
system().hasEnvironment()) {
87 return system().environment().stress(paramId);
89 return system().mixture().stress(paramId);
bool isSymmetric_
Does this iterator use a symmetry-adapted basis?
void setFlexibleParams(FSArray< bool, 6 > const &flexParams)
Set the array indicating which lattice parameters are flexible.
Iterator()
Default constructor.
int nFlexibleParams() const
Get the number of flexible lattice parameters.
System< D > const & system() const
Get parent system by const reference.
bool isFlexible_
Are any lattice parameters flexible during iteration?
virtual double stress(int paramId) const
Return the stress used by this Iterator, for one lattice parameter.
FSArray< bool, 6 > flexibleParams_
Array of indices of the lattice parameters that are flexible.
Main class, representing a complete physical system.
A fixed capacity (static) contiguous array with a variable logical size.
void setClassName(const char *className)
Set class name string.
#define UTIL_CHECK(condition)
Assertion macro suitable for serial or parallel production code.
Real periodic fields, SCFT and PS-FTS (CPU).
PSCF package top-level namespace.