Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F86905297
mini_mesh_test.cc
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Oct 9, 08:03
Size
1 KB
Mime Type
text/x-c
Expires
Fri, Oct 11, 08:03 (2 d)
Engine
blob
Format
Raw Data
Handle
21503618
Attached To
rCADDMESH CADD_mesher
mini_mesh_test.cc
View Options
#include <iostream>
#include "common.hh"
#include "mini_mesh.hh"
#include "point_container.hh"
#include <vector>
const
Uint
dim
=
2
;
const
Uint
nb_elem
=
8
;
int
conn
[
nb_elem
][
dim
+
1
]
=
{{
0
,
5
,
4
},
{
0
,
1
,
5
},
{
1
,
6
,
5
},
{
1
,
2
,
6
},
{
2
,
4
,
6
},
{
2
,
3
,
4
},
{
3
,
0
,
4
},
{
4
,
5
,
6
}};
void
createNodes
(
PointContainer
<
dim
>
&
nodes
,
std
::
vector
<
int
>
&
free_nodes
)
{
nodes
.
addPoint
({
0.
,
0.
});
nodes
.
addPoint
({
4.
,
0.
});
nodes
.
addPoint
({
4.
,
2.
});
nodes
.
addPoint
({
0.
,
2.
});
nodes
.
addPoint
({
1.
,
1.1
});
nodes
.
addPoint
({
2.
,
0.9
});
nodes
.
addPoint
({
3.
,
1.1
});
free_nodes
.
push_back
(
4
);
free_nodes
.
push_back
(
5
);
free_nodes
.
push_back
(
6
);
}
void
createConnectivity
(
std
::
vector
<
const
int
*>
&
connectivity
)
{
for
(
Uint
i
=
0
;
i
<
nb_elem
;
++
i
)
{
connectivity
.
push_back
(
conn
[
i
]);
}
}
int
main
(
int
argc
,
char
*
argv
[])
{
PointContainer
<
dim
>
nodes
(
"Nodes"
);
std
::
vector
<
int
>
free_nodes
;
createNodes
(
nodes
,
free_nodes
);
std
::
vector
<
const
int
*>
connectivity
;
createConnectivity
(
connectivity
);
MiniMesh
<
dim
>
mesh
(
connectivity
,
free_nodes
,
nodes
);
Uint
iter
=
mesh
.
relax
(
.1
,
10
,
10
,
true
);
std
::
cout
<<
nodes
<<
std
::
endl
;
Uint
expected_iter
=
1
;
if
(
iter
==
expected_iter
){
std
::
cout
<<
"Converged in "
<<
iter
<<
" steps. This is as it should be. SUCCESS."
<<
std
::
endl
;
return
0
;
}
else
{
std
::
cout
<<
"This should have converged in "
<<
expected_iter
<<
" steps "
<<
" but did so in "
<<
iter
<<
". FAILURE."
<<
std
::
endl
;
return
-
1
;
}
}
Event Timeline
Log In to Comment