Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
DislocationNetworkRemesh.h
Go to the documentation of this file.
1/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2 *
3 *
4 * MoDELib is distributed without any warranty under the
5 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
6 */
7
8#ifndef model_DislocationNetworkRemesh_h_
9#define model_DislocationNetworkRemesh_h_
10
12
13namespace model
14{
15 template<int dim> class DislocationNetwork;
16
19 template <int dim>
21 {
22
23 typedef TypeTraits<DislocationNetwork<dim>> TraitsType;
24 typedef typename TraitsType::VectorDim VectorDim;
25 typedef typename TraitsType::VectorLowerDim VectorLowerDim;
26
27
29 friend struct RemeshTestAccess;
30 bool zeroChordCandidate(const std::shared_ptr<typename TraitsType::NetworkLinkType>& link) const;
31 size_t contractZeroChordCandidates(const std::vector<std::pair<size_t,size_t>>& candidates);
32
33 public:
34
35 const double Lmax;
36 const double Lmin;
39 const short unsigned int remeshFrequency;
40
42 void remesh(const long int &runID);
43 void remeshByRemoval();
45 void remeshByExpansion();
46 void contractBoundaryNodes(); //This function contracts boundary nodes if they are at the same position and share atleast one same neightbors
50// static double minMeshSize(const SimplicialMesh<dim> &mesh);
51 };
52
53} // namespace model
54#endif
55
DislocationNetworkRemesh(DislocationNetwork< dim > &DN_in)
Eigen::Matrix< double, dim-1, 1 > VectorLowerDim