Mesh Oriented datABase
(version 5.5.0)
An array-based unstructured mesh library
IntxUtilsCSLAM.hpp
Go to the documentation of this file.
1
/*
2
* CSLAMUtils.hpp
3
*
4
*/
5
6
#ifndef CSLAMUTILS_HPP_
7
#define CSLAMUTILS_HPP_
8
9
#include "
moab/CartVect.hpp
"
10
#include "
moab/Core.hpp
"
11
#include "
moab/IntxMesh/IntxUtils.hpp
"
12
13
class
IntxUtilsCSLAM
14
{
15
public
:
16
/* Analytical functions */
17
18
// page 4 Nair Lauritzen paper
19
// param will be: (la1, te1), (la2, te2), b, c; hmax=1, r=1/2
20
static
double
quasi_smooth_field
(
double
lam,
double
tet,
double
* params );
21
22
// page 4
23
static
double
smooth_field
(
double
lam,
double
tet,
double
* params );
24
25
// page 5
26
static
double
slotted_cylinder_field
(
double
lam,
double
tet,
double
* params );
27
28
// More MBCSLAM specific API
29
static
void
departure_point_case1
(
moab::CartVect
& arrival_point,
30
double
t
,
31
double
delta_t
,
32
moab::CartVect
& departure_point );
33
34
static
void
velocity_case1
(
moab::CartVect
& arrival_point,
double
t
,
moab::CartVect
& velo );
35
36
// looking at DP tag, create the spanning quads, write a file (with rank) and
37
// then delete the new entities (vertices) and the set of quads
38
static
moab::ErrorCode
create_span_quads
(
moab::Interface
*
mb
,
moab::EntityHandle
euler_set,
int
rank );
39
40
// copy the euler mesh into a new set, lagr_set (or lagr set into a new euler set)
41
// it will be used in 3rd method, when the positions of nodes are modified, no new nodes are
42
// created
43
// it will also be used to
44
static
moab::ErrorCode
deep_copy_set
(
moab::Interface
*
mb
,
moab::EntityHandle
source,
moab::EntityHandle
dest );
45
};
46
47
#endif
tools
mbcslam
IntxUtilsCSLAM.hpp
Generated on Thu Nov 2 2023 11:55:49 for Mesh Oriented datABase by
1.9.1.