CASM  1.1.0
A Clusters Approach to Statistical Mechanics
DiffClexParamPack.hh File Reference
#include <cstddef>
#include <iostream>
#include <sstream>
#include <string>
#include "casm/casm_io/container/stream_io.hh"
#include "casm/casm_io/enum/json_io.hh"
#include "casm/casm_io/enum/stream_io.hh"
#include "casm/clex/ClexParamPack.hh"
#include "casm/external/fadbad/badiff.h"
#include "casm/external/fadbad/fadiff.h"
#include "casm/global/definitions.hh"

Go to the source code of this file.

Classes

class  CASM::DiffClexParamKey
 Abstract base class for all keys that interact with DiffClexParamPack DiffClexParamPack values are assumed to be 1D, 2D, or to be naturally accessed via 2D slices Standalone values are assumed to be 1D or 2D (for example, a 3xN displacement field) Derived values typically have more dimensions (for example, the derivative of the Mx1 correlation vector with respect to the displacement field has 3 indices, whild the second derivative wrt the displacement field has 5 indices). Derivatives are always asociated with the first independent standalone value in the key name. The key "diff/corr/disp_var" would be associated with "disp_var", which is a 3xN Matrix, and thus the resulting derived value (which is the first derifative of correlations with respect to displacements) will be sliced into 3xN slices. Each slice corresponds to a particular entry in the Mx1 correlation vector (i.e., slice 'j' is the gradient of correlation value j with respect to the entire set of displacement variables). The 'j' index that specifies the particular slice is called a 'secondary identifier', and it can be specified via ClexParamKey::set_identifiers(). More...
 
struct  CASM::DiffScalarContainer
 container struct for storing a standalone value as 2D arrays of both autodiff Scalars doubles More...
 
class  CASM::DiffClexParamPack
 Class for managing the set of all dependent and independent paramters used/generated by clexulator. More...
 
class  CASM::DiffClexParamValKey
 
class  CASM::DiffClexParamGradKey
 
class  CASM::DiffClexParamHessKey
 
struct  CASM::traits< DiffClexParamPack::EvalMode >
 
struct  CASM::ValAccess< double >
 
struct  CASM::ValAccess< typename DiffClexParamPack::DiffScalar >
 

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::DiffClexParamPack_impl
 

Typedefs

using CASM::DiffClexParamPack_impl::DiffScalar = fadbad::B< fadbad::F< double > >
 

Enumerations

enum class  CASM::DiffClexParamPack_impl::EvalMode { CASM::DiffClexParamPack_impl::DEFAULT , CASM::DiffClexParamPack_impl::READ , CASM::DiffClexParamPack_impl::DIFF , CASM::DiffClexParamPack_impl::DYNAM }
 

Functions

std::ostream & CASM::operator<< (std::ostream &sout, const DiffClexParamPack::EvalMode &val)
 
std::istream & CASM::operator>> (std::istream &sin, DiffClexParamPack::EvalMode &val)