Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F90410297
Mesh.h
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
Fri, Nov 1, 10:33
Size
2 KB
Mime Type
text/x-c
Expires
Sun, Nov 3, 10:33 (2 d)
Engine
blob
Format
Raw Data
Handle
22070259
Attached To
rGOOSEFEM GooseFEM
Mesh.h
View Options
/* =================================================================================================
(c - GPLv3) T.W.J. de Geus (Tom) | tom@geus.me | www.geus.me | github.com/tdegeus/GooseFEM
================================================================================================= */
#ifndef GOOSEFEM_MESH_H
#define GOOSEFEM_MESH_H
// -------------------------------------------------------------------------------------------------
#include "GooseFEM.h"
// ======================================== GooseFEM::Mesh =========================================
namespace
GooseFEM
{
namespace
Mesh
{
// -------------------------------------------------------------------------------------------------
// list with DOF-numbers in sequential order
inline
MatS
dofs
(
size_t
nnode
,
size_t
ndim
);
// -------------------------------------------------------------------------------------------------
// renumber to lowest possible numbers (e.g. [0,3,4,2] -> [0,2,3,1])
// - core
template
<
class
InputIterator
,
class
OutputIterator
>
inline
void
renumber
(
const
InputIterator
first
,
const
InputIterator
last
,
const
OutputIterator
result
);
// - interface
inline
MatS
renumber
(
const
MatS
&
dofs
);
// -------------------------------------------------------------------------------------------------
// reorder (and renumber) such that certain indices "idx" are moved to the beginning or the end
// - core
template
<
class
InputIterator
,
class
OutputIterator
,
class
IndexIterator
>
inline
void
reorder
(
const
InputIterator
first
,
const
InputIterator
last
,
const
OutputIterator
result
,
const
IndexIterator
first_index
,
const
IndexIterator
last_index
,
std
::
string
location
);
// - interface
inline
MatS
reorder
(
const
MatS
&
dofs
,
const
ColS
&
idx
,
std
::
string
location
=
"end"
);
// -------------------------------------------------------------------------------------------------
// elements connected to each node:
// out[: ,0 ] = number of elements connected to each node
// out[j ,i+1] = "i"th element connected to node "j"
inline
SpMatS
elem2node
(
const
MatS
&
conn
);
// -------------------------------------------------------------------------------------------------
}}
// namespace ...
// =================================================================================================
#endif
Event Timeline
Log In to Comment