dicstrain.hpp¶
-
namespace strain¶
Functions
-
void engine(const py::array_t<int> &ss_x_arr, const py::array_t<int> &ss_y_arr, const py::array_t<double> &u_arr, const py::array_t<double> &v_arr, const int nss_x, const int nss_y, const int nimg, const int sw_size, const int q, const std::string &form, const std::vector<std::string> &filenames, const util::SaveConfig &strain_save_conf)¶
-
bool fill_window(int *ss_x, int *ss_y, double *u, double *v, int img, int sw, Window &window, int nss_x, int nss_y, int sw_size)¶
Fills the strain window with the subset coordinates and displacement vectors based on the input parameters.
- Parameters:
ss_x – subset x-coordinates
ss_y – subset y-coordinates
u – horizontal displacement
v – vertical displacement
window – strain window struct.
num_ss_x – number of subsets along the x-axis
num_ss_y – number of subsets along the y-axis
x0_idx – index of the x-coordinate in the subset mask
y0_idx – index of the x-coordinate in the subset mask
swr – strain window radius (strain window / 2)
- Returns:
true if the strain window is filled successfully
- Returns:
false if the strain window is out of bounds
-
Eigen::Matrix2d compute_def_grad(const int q, const Eigen::VectorXd &uc, const Eigen::VectorXd &vc, const double x0, const double y0)¶
-
Eigen::Matrix2d compute_strain(const std::string &form, const Eigen::Matrix2d &deform_grad)¶
-
void append_results(int sw, strain::Results &results, const bool save_at_end, const int x0, const int y0, const Eigen::Matrix2d &deform_grad, const Eigen::Matrix2d &eps, const int nwindows, const int img)¶
-
void save_to_disk(int img, const strain::Results &results, const util::SaveConfig &strain_save_conf, const int nwindows, const int nimg, const std::vector<std::string> filenames)¶
-
inline Eigen::Matrix2d green(Eigen::Matrix2d F)¶
Calculates Green strain for a given deformation gradient F and identity matrix I.
- Parameters:
F – deformation gradient
I – Identity Matrix
- Returns:
Eigen::Matrix2d Green Strain
-
inline Eigen::Matrix2d hencky(Eigen::Matrix2d F)¶
Calculates Hencky strain for a given deformation gradient F and identity matrix I.
- Parameters:
F – deformation gradient
I – Identity Matrix
- Returns:
Eigen::Matrix2d Hencky Strain
-
inline Eigen::Matrix2d almansi(Eigen::Matrix2d F)¶
Calculates Almansi strain for a given deformation gradient F and identity matrix I.
- Parameters:
F – deformation gradient
I – Identity Matrix
- Returns:
Eigen::Matrix2d Almansi Strain
-
inline Eigen::Matrix2d biot_euler(Eigen::Matrix2d F)¶
Calculates Biot strain in the euler coordiate system for a given deformation gradient F and identity matrix I.
- Parameters:
F – deformation gradient
I – Identity Matrix
- Returns:
Eigen::Matrix2d Almansi Strain
-
inline Eigen::Matrix2d biot_lagrange(Eigen::Matrix2d F)¶
Calculates Biot strain in the lagrange coordiate system for a given deformation gradient F and identity matrix I.
- Parameters:
F – deformation gradient
I – Identity Matrix
- Returns:
Eigen::Matrix2d Almansi Strain
-
void engine(const py::array_t<int> &ss_x_arr, const py::array_t<int> &ss_y_arr, const py::array_t<double> &u_arr, const py::array_t<double> &v_arr, const int nss_x, const int nss_y, const int nimg, const int sw_size, const int q, const std::string &form, const std::vector<std::string> &filenames, const util::SaveConfig &strain_save_conf)¶