Loading...
Searching...
No Matches
AtomDistribution.cpp File Reference
#include "AtomDistribution.h"
#include "Exception.h"
#include "View.h"
#include "Tools.h"
#include <cassert>
#include <variant>
#include <optional>
#include <functional>

Classes

class  PLMD::fixedTrajectory
 A decorator for fixing the state of the trajectory. More...
 
class  PLMD::forceBoxTrajectory
 A decorator for forcing a box in the trajectory. More...
 
struct  PLMD::inscribedBodyCenteredCubic
 This BCC is contained in a orthogonal cubic box. More...
 
struct  PLMD::inscribedFaceCenteredCubic
 This FCC is contained in a orthogonal cubic box. More...
 
class  PLMD::repliedTrajectory
 a decorator for replicating the atomic distribution More...
 
class  PLMD::scaledTrajectory
 a decorator for scaling the atomic positions More...
 
struct  PLMD::theLine
 A wiggly line of atoms. More...
 
struct  PLMD::tiledBodyCenteredCubic
 This BCC is contained in a "standard" FCC box. More...
 
struct  PLMD::tiledFaceCenteredCubic
 This FCC is contained in a "standard" FCC box. More...
 
struct  PLMD::tiledSimpleCubic
 
struct  PLMD::twoGlobs
 Atom randomly distribuited between two not overlapping a spheres. More...
 
struct  PLMD::uniformCube
 
struct  PLMD::uniformSphere
 Atom randomly distribuited in a sphere. More...
 
class  PLMD::UniformSphericalVector
 
class  PLMD::wiggleTrajectory
 A decorator for displacing the atoms from the generated underline distribution. More...
 

Namespaces

namespace  PLMD
 
namespace  PLMD::ADHelpers
 

Macros

#define X   PLMD::Versors::xp<double>
 
#define X   PLMD::Versors::xp<double>
 
#define Y   PLMD::Versors::yp<double>
 
#define Y   PLMD::Versors::yp<double>
 
#define Z   PLMD::Versors::zp<double>
 
#define Z   PLMD::Versors::zp<double>
 

Typedefs

using PLMD::ADHelpers::baseDistributions
 
using PLMD::ADHelpers::decoratorDistribuitions
 
using PLMD::ADHelpers::parser
 
using PLMD::unpackedLine = gch::small_vector<std::string_view>
 

Functions

unsigned PLMD::ceiledPerfectCube (const unsigned N)
 A simple correction to getting (in ceil mode) the correct nearest perfect cube.
 
template<size_t I = 0>
std::optional< std::unique_ptr< AtomDistribution > > PLMD::ADHelpers::getAD (std::string_view atomicDistr)
 
template<size_t I = 0>
std::optional< parserPLMD::ADHelpers::getDecorator (std::string_view decoratorDistr)
 
template<size_t I = 0>
void PLMD::ADHelpers::getDecoratorDocumentation (std::vector< AtomDistribution::documentation > &list)
 
template<size_t I = 0>
void PLMD::ADHelpers::getDecoratorList (std::vector< std::string > &list)
 
std::string PLMD::ADHelpers::getDecoratorList_forError ()
 
template<size_t I = 0>
void PLMD::ADHelpers::getDistributionDocumentation (std::vector< AtomDistribution::documentation > &list)
 
template<size_t I = 0>
void PLMD::ADHelpers::getDistributionList (std::vector< std::string > &list)
 
std::string PLMD::ADHelpers::getDistributionList_forError ()
 

Macro Definition Documentation

◆ X [1/2]

#define X   PLMD::Versors::xp<double>

◆ X [2/2]

#define X   PLMD::Versors::xp<double>

◆ Y [1/2]

#define Y   PLMD::Versors::yp<double>

◆ Y [2/2]

#define Y   PLMD::Versors::yp<double>

◆ Z [1/2]

#define Z   PLMD::Versors::zp<double>

◆ Z [2/2]

#define Z   PLMD::Versors::zp<double>