Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
include
DislocationDynamics
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
11
#include <
DislocationDynamicsModule.h
>
12
13
namespace
model
14
{
15
template
<
int
dim>
class
DislocationNetwork
;
16
19
template
<
int
dim>
20
class
DislocationNetworkRemesh
21
{
22
23
typedef
TypeTraits<DislocationNetwork<dim>
> TraitsType;
24
typedef
typename
TraitsType::VectorDim
VectorDim;
25
typedef
typename
TraitsType::VectorLowerDim
VectorLowerDim;
26
27
28
DislocationNetwork<dim>
& DN;
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
;
37
const
double
absoluteAreaThreshold
;
38
const
double
relativeAreaThreshold
;
39
const
short
unsigned
int
remeshFrequency
;
40
41
DislocationNetworkRemesh
(
DislocationNetwork<dim>
& DN_in);
42
void
remesh
(
const
long
int
&runID);
43
void
remeshByRemoval
();
44
size_t
simplifyPhysicalBoundaryChains
();
45
void
remeshByExpansion
();
46
void
contractBoundaryNodes
();
//This function contracts boundary nodes if they are at the same position and share atleast one same neightbors
47
void
contract0chordSegments
();
48
void
remove0AreaLoopAcrossBnd
();
49
void
removeCollapsedLoops
();
50
// static double minMeshSize(const SimplicialMesh<dim> &mesh);
51
};
52
53
}
// namespace model
54
#endif
55
DislocationDynamicsModule.h
model::DislocationNetwork
Definition
DislocationNetwork.h:78
model::DislocationNetworkRemesh::Lmin
const double Lmin
Definition
DislocationNetworkRemesh.h:36
model::DislocationNetworkRemesh::relativeAreaThreshold
const double relativeAreaThreshold
Definition
DislocationNetworkRemesh.h:38
model::DislocationNetworkRemesh::remove0AreaLoopAcrossBnd
void remove0AreaLoopAcrossBnd()
Definition
DislocationNetworkRemesh.cpp:579
model::DislocationNetworkRemesh::removeCollapsedLoops
void removeCollapsedLoops()
Definition
DislocationNetworkRemesh.cpp:56
model::DislocationNetworkRemesh::contract0chordSegments
void contract0chordSegments()
Definition
DislocationNetworkRemesh.cpp:554
model::DislocationNetworkRemesh::remesh
void remesh(const long int &runID)
Definition
DislocationNetworkRemesh.cpp:36
model::DislocationNetworkRemesh::DislocationNetworkRemesh
DislocationNetworkRemesh(DislocationNetwork< dim > &DN_in)
Definition
DislocationNetworkRemesh.cpp:19
model::DislocationNetworkRemesh::Lmax
const double Lmax
Definition
DislocationNetworkRemesh.h:35
model::DislocationNetworkRemesh::RemeshTestAccess
friend struct RemeshTestAccess
Definition
DislocationNetworkRemesh.h:29
model::DislocationNetworkRemesh::absoluteAreaThreshold
const double absoluteAreaThreshold
Definition
DislocationNetworkRemesh.h:37
model::DislocationNetworkRemesh::simplifyPhysicalBoundaryChains
size_t simplifyPhysicalBoundaryChains()
Definition
DislocationNetworkRemesh.cpp:85
model::DislocationNetworkRemesh::remeshByRemoval
void remeshByRemoval()
Definition
DislocationNetworkRemesh.cpp:174
model::DislocationNetworkRemesh::contractBoundaryNodes
void contractBoundaryNodes()
Definition
DislocationNetworkRemesh.cpp:396
model::DislocationNetworkRemesh::remeshFrequency
const short unsigned int remeshFrequency
Definition
DislocationNetworkRemesh.h:39
model::DislocationNetworkRemesh::remeshByExpansion
void remeshByExpansion()
Definition
DislocationNetworkRemesh.cpp:335
model
Definition
DD_converter.dox:2
model::DislocationNetworkTraitsBase< dim >::VectorLowerDim
Eigen::Matrix< double, dim-1, 1 > VectorLowerDim
Definition
DislocationNetworkTraits.h:78
model::DislocationNetworkTraitsBase< dim >::VectorDim
Eigen::Matrix< double, dim, 1 > VectorDim
Definition
DislocationNetworkTraits.h:77
model::TypeTraits
Definition
TypeTraits.h:19
Generated by
1.15.0