Overture
Version 25
Main Page
Namespaces
Classes
Files
File List
File Members
Overture.v25.d
include
EllipticTransform.h
Go to the documentation of this file.
1
#ifndef ELLIPTIC_TRANSFORM
2
#define ELLIPTIC_TRANSFORM
3
4
#include "
Mapping.h
"
5
// include "MappedGridOperators.h"
6
7
// forward declarations:
8
class
GenericGraphicsInterface
;
9
class
GraphicsParameters
;
10
class
ComposeMapping
;
11
class
DataPointMapping
;
12
13
// extern GraphicsParameters Overture::defaultGraphicsParameters();
14
class
EllipticGridGenerator
;
15
16
class
EllipticTransform
:
public
Mapping
17
{
18
//----------------------------------------------------------------
19
// Smooth out a mapping with Elliptic Grid Generation
20
// -------------------------------------------------
21
//
22
//----------------------------------------------------------------
23
24
public
:
25
26
EllipticTransform
();
27
28
// Copy constructor is deep by default
29
EllipticTransform
(
const
EllipticTransform
&,
const
CopyType
copyType=
DEEP
);
30
31
~EllipticTransform
();
32
33
EllipticTransform
&
operator =
(
const
EllipticTransform
&
X
);
34
35
void
map
(
const
realArray
&
r
,
realArray
&
x
,
realArray
&
xr
=
Overture::nullRealDistributedArray
(),
36
MappingParameters
& params =
Overture::nullMappingParameters
() );
37
38
void
inverseMap
(
const
realArray
& x,
realArray
& r,
realArray
&
rx
=
Overture::nullRealDistributedArray
(),
39
MappingParameters
& params =
Overture::nullMappingParameters
() );
40
41
void
generateGrid
(
GenericGraphicsInterface
*gi=
NULL
,
42
GraphicsParameters
& parameters=
Overture::defaultGraphicsParameters
());
43
44
void
periodicUpdate
(
RealArray
&x,
RealArray
xo,
RealArray
pSrc,
RealArray
qSrc);
45
void
bcUpdate
(
RealArray
&x,
RealArray
xo,
RealArray
&pSrc,
int
iteration);
46
void
initialize
();
47
48
virtual
int
get
(
const
GenericDataBase
& dir,
const
aString
& name);
// get from a database file
49
virtual
int
put
(
GenericDataBase
& dir,
const
aString
& name)
const
;
// put to a database file
50
51
Mapping
*
make
(
const
aString
&
mappingClassName
);
52
53
aString
getClassName
()
const
{
return
EllipticTransform::className
; }
54
55
int
update
(
MappingInformation
& mapInfo ) ;
56
57
58
protected
:
59
60
int
setup
();
61
void
resetDataPointMapping
(
realArray
& x,Index I, Index J, Index K);
62
63
aString
className
;
64
Mapping
*
userMap
;
// original mapping before elliptic grid generation
65
ComposeMapping
*
compose
;
// holds the composite map if project==TRUE
66
DataPointMapping
*
dpm
;
// This holds the elliptic grid if project==FALSE or
67
// the reparameterization map if project==TRUE
68
bool
ellipticGridDefined
;
// TRUE when the grid has been generated
69
70
RealArray
xe
;
// xe holds the grid points of the elliptic transform
71
72
EllipticGridGenerator
*
ellipticGridGenerator
;
73
74
75
private
:
76
77
//
78
// Virtual member functions used only through class ReferenceCounting:
79
//
80
virtual
ReferenceCounting
&
operator=
(
const
ReferenceCounting
& x)
81
{
return
operator=
((
EllipticTransform
&)x); }
82
virtual
void
reference(
const
ReferenceCounting
& x)
83
{ reference((
EllipticTransform
&)x); }
84
virtual
ReferenceCounting
* virtualConstructor(
const
CopyType
ct =
DEEP
)
const
85
{ return ::new
EllipticTransform
(*
this
, ct); }
86
};
87
88
89
#endif
Generated on Fri Jan 4 2013 10:17:51 for Overture by
1.8.3