Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F88122830
explicit_detection.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 16, 22:15
Size
1 KB
Mime Type
text/x-c
Expires
Fri, Oct 18, 22:15 (2 d)
Engine
blob
Format
Raw Data
Handle
21719099
Attached To
rAKA akantu
explicit_detection.cc
View Options
/* -------------------------------------------------------------------------- */
#include "contact_mechanics_model.hh"
#include "dumper_elemental_field.hh"
#include "dumper_nodal_field.hh"
#include "dumper_iohelper_paraview.hh"
/* -------------------------------------------------------------------------- */
using
namespace
akantu
;
/* -------------------------------------------------------------------------- */
int
main
(
int
argc
,
char
*
argv
[])
{
std
::
string
mesh_file
=
"explicit.msh"
;
std
::
string
material_file
=
"options_explicit.dat"
;
const
UInt
spatial_dimension
=
2
;
initialize
(
material_file
,
argc
,
argv
);
Mesh
mesh
(
spatial_dimension
);
mesh
.
read
(
mesh_file
);
ContactDetector
detector
(
mesh
);
auto
&&
surface_selector
=
std
::
make_shared
<
PhysicalSurfaceSelector
>
(
mesh
);
detector
.
setSurfaceSelector
(
surface_selector
);
std
::
map
<
UInt
,
ContactElement
>
contact_map
;
detector
.
search
(
contact_map
);
UInt
nb_nodes
=
mesh
.
getNbNodes
();
Array
<
Real
>
gaps
(
nb_nodes
,
1
);
Array
<
Real
>
normals
(
nb_nodes
,
spatial_dimension
);
for
(
auto
&
entry:
contact_map
)
{
const
auto
&
node
=
entry
.
first
;
const
auto
&
element
=
entry
.
second
;
gaps
[
node
]
=
element
.
gap
;
for
(
auto
i
:
arange
(
spatial_dimension
))
{
normals
(
node
,
i
)
=
element
.
normal
[
i
];
}
}
DumperParaview
dumper
(
"explicit_detection"
,
"./paraview"
,
false
);
dumper
.
registerMesh
(
mesh
);
auto
gap_field
=
std
::
make_shared
<
dumper
::
NodalField
<
Real
>>
(
gaps
);
auto
normal_field
=
std
::
make_shared
<
dumper
::
NodalField
<
Real
>>
(
normals
);
dumper
.
registerField
(
"gaps"
,
gap_field
);
dumper
.
registerField
(
"normals"
,
normal_field
);
dumper
.
dump
();
finalize
();
return
EXIT_SUCCESS
;
}
Event Timeline
Log In to Comment