MDStressLab++
Loading...
Searching...
No Matches
Mls.h
Go to the documentation of this file.
1/*
2 * Mls.h
3 *
4 * Created on: Feb 11, 2020
5 * Author: Min
6 */
7
8#ifndef MLS_H_
9#define MLS_H_
10
11#include <vector>
12#include "typedef.h"
13#include "BoxConfiguration.h"
14#include "Grid.h"
15
26class Mls {
27 public:
28
32 std::string name;
33
37 double radiusMls;
38
42 std::vector<Matrix3d> deformationGradient;
43
47 std::vector<Vector3d> gridPushed;
48
63 Mls(const BoxConfiguration& body, const Grid<Reference>* pgrid, double radiusMls, const std::string name);
64
65 ~Mls();
66
76 void pushToCauchy(const std::vector<Matrix3d>& piolaStress,std::vector<Matrix3d>& cauchyStress);
77
85
91 void writeGridPushed();
92
100 void writePushedCauchyStress(std::vector<Matrix3d>& cauchyStress);
101};
102
167#endif /* MLS_H_ */
168
169
Represents a particle configuration including simulation box information.
Definition Grid.h:31
Computes deformation gradients and stress tensors using Moving Least Squares (MLS) interpolation on a...
Definition Mls.h:26
~Mls()
Definition Mls.cpp:791
std::vector< Matrix3d > deformationGradient
Deformation gradient at each grid point (one per grid coordinate).
Definition Mls.h:42
void writeDeformationGradient()
Writes the deformation gradient at each grid point to a file.
Definition Mls.cpp:832
void pushToCauchy(const std::vector< Matrix3d > &piolaStress, std::vector< Matrix3d > &cauchyStress)
Converts Piola-Kirchhoff stress to Cauchy stress at grid points.
Definition Mls.cpp:796
double radiusMls
Radius of influence for the MLS weighting function.
Definition Mls.h:37
std::string name
Identifier name used for output file prefixes.
Definition Mls.h:32
void writePushedCauchyStress(std::vector< Matrix3d > &cauchyStress)
Writes Cauchy stresses at grid points to a file.
Definition Mls.cpp:887
std::vector< Vector3d > gridPushed
Positions of grid points after applying MLS displacements.
Definition Mls.h:47
void writeGridPushed()
Writes the pushed (deformed) grid point coordinates to a file.
Definition Mls.cpp:872