occ
Loading...
Searching...
No Matches
crystal_strain.h File Reference
Include dependency graph for crystal_strain.h:

Classes

struct  occ::mults::StrainedResult
 Result from strained crystal computation. More...
 

Namespaces

namespace  occ
 
namespace  occ::mults
 

Functions

Mat3 occ::mults::voigt_strain_tensor (int voigt_index, double magnitude)
 Build the 3x3 strain tensor for a single Voigt component.
 
StrainedResult occ::mults::compute_strained (const CrystalEnergySetup &setup, const Mat3 &strain, const std::vector< NeighborPair > *fixed_neighbors=nullptr, const std::vector< std::vector< bool > > *fixed_site_masks=nullptr)
 Compute energy and gradient of a strained crystal.
 
double occ::mults::compute_strained_energy (const CrystalEnergySetup &setup, const Mat3 &strain, const std::vector< NeighborPair > *fixed_neighbors=nullptr, const std::vector< std::vector< bool > > *fixed_site_masks=nullptr)
 Convenience: compute only energy at strained geometry.
 
Vec6 occ::mults::compute_strain_derivatives_fd (const CrystalEnergySetup &setup, double delta=1e-4)
 Compute 6 strain derivatives dU/dE_i by central finite differences.
 
Mat6 occ::mults::compute_elastic_constants_fd (const CrystalEnergySetup &setup, double delta=1e-3)
 Compute the 6x6 clamped elastic stiffness tensor C_ij analytically.
 
Mat6 occ::mults::compute_relaxed_elastic_constants_fd (const CrystalEnergySetup &setup, double delta=1e-3)
 Compute relaxed-ion elastic constants via Schur complement.