Chombo + EB + MF
3.2
src
HOMappedGeometry
AnalyticCS.H
Go to the documentation of this file.
1
#ifdef CH_LANG_CC
2
/*
3
* _______ __
4
* / ___/ / ___ __ _ / / ___
5
* / /__/ _ \/ _ \/ V \/ _ \/ _ \
6
* \___/_//_/\___/_/_/_/_.__/\___/
7
* Please refer to Copyright.txt, in Chombo's root directory.
8
*/
9
#endif
10
11
#ifndef _ANALYTICCS_H_
12
#define _ANALYTICCS_H_
13
14
#include "
NewFourthOrderCoordSys.H
"
15
#include "
RefCountedPtr.H
"
16
#include "
VectorFunction.H
"
17
#include "
TensorFunction.H
"
18
19
#include "NamespaceHeader.H"
20
21
//! \class AnalyticCS
22
//! This class uses analytic vector/tensor functions to define a
23
//! coordinate mapping.
24
class
AnalyticCS
:
public
NewFourthOrderCoordSys
25
{
26
public
:
27
28
//! Construct an analytic coordinate mapping.
29
AnalyticCS
(
const
RealVect
& a_dX,
30
RefCountedPtr<VectorFunction>
a_X,
31
RefCountedPtr<VectorFunction>
a_Xi,
32
RefCountedPtr<TensorFunction>
a_J);
33
34
//! Destructor.
35
~AnalyticCS
();
36
37
// Overridden methods
38
39
RealVect
realCoord
(
const
RealVect
& a_X)
const
;
40
41
RealVect
mappedCoord
(
const
RealVect
& a_x)
const
;
42
43
Real
dXdXi
(
const
RealVect
& a_Xi,
int
a_dirX,
int
a_dirXi)
const
;
44
45
protected
:
46
47
RefCountedPtr<VectorFunction>
m_X
,
m_Xi
;
48
RefCountedPtr<TensorFunction>
m_J
;
49
50
// Cached Jacobian matrix and corresponding coordinate.
51
mutable
RealTensor
m_J0
;
52
mutable
RealVect
m_Xi0
;
53
54
private
:
55
56
AnalyticCS
();
57
58
};
59
60
//! \class AnalyticCSFactory
61
class
AnalyticCSFactory
:
public
NewCoordSysFactory
62
{
63
public
:
64
65
/// constructor
66
AnalyticCSFactory
(
RefCountedPtr<VectorFunction>
a_X,
67
RefCountedPtr<VectorFunction>
a_Xi,
68
RefCountedPtr<TensorFunction>
a_J);
69
70
///
71
virtual
NewCoordSys
* getCoordSys(
const
ProblemDomain
& a_domain,
72
const
RealVect
& a_dx)
const
;
73
74
protected
:
75
76
RefCountedPtr<VectorFunction>
m_X
,
m_Xi
;
77
RefCountedPtr<TensorFunction>
m_J
;
78
};
79
80
81
#include "NamespaceFooter.H"
82
83
#endif
AnalyticCSFactory
Definition:
AnalyticCS.H:61
AnalyticCS::~AnalyticCS
~AnalyticCS()
Destructor.
RefCountedPtr< VectorFunction >
RealTensor
Definition:
RealTensor.H:24
ProblemDomain
A class to facilitate interaction with physical boundary conditions.
Definition:
ProblemDomain.H:141
AnalyticCS::mappedCoord
RealVect mappedCoord(const RealVect &a_x) const
given coordinate in real space, return its location in the mapped space
NewFourthOrderCoordSys
Virtual base class encapsulating mapped-grid coordinate systems.
Definition:
NewFourthOrderCoordSys.H:77
AnalyticCS::realCoord
RealVect realCoord(const RealVect &a_X) const
given coordinate in mapped space, return its location in real space
AnalyticCS::m_Xi
RefCountedPtr< VectorFunction > m_Xi
Definition:
AnalyticCS.H:47
AnalyticCSFactory::m_J
RefCountedPtr< TensorFunction > m_J
Definition:
AnalyticCS.H:77
AnalyticCS::m_J
RefCountedPtr< TensorFunction > m_J
Definition:
AnalyticCS.H:48
AnalyticCS::m_Xi0
RealVect m_Xi0
Definition:
AnalyticCS.H:52
VectorFunction.H
NewCoordSysFactory
pure-virtual base class defining factory interface for CoordSys
Definition:
NewCoordSys.H:236
AnalyticCS::m_X
RefCountedPtr< VectorFunction > m_X
Definition:
AnalyticCS.H:47
Real
double Real
Definition:
REAL.H:33
AnalyticCS::dXdXi
Real dXdXi(const RealVect &a_Xi, int a_dirX, int a_dirXi) const
note that a_Xi is in mapped space.
TensorFunction.H
RefCountedPtr.H
NewFourthOrderCoordSys.H
RealVect
A Real vector in SpaceDim-dimensional space.
Definition:
RealVect.H:41
AnalyticCS::AnalyticCS
AnalyticCS()
AnalyticCS::m_J0
RealTensor m_J0
Definition:
AnalyticCS.H:51
AnalyticCS
Definition:
AnalyticCS.H:24
NewCoordSys
Virtual base class encapsulating mapped-grid coordinate systems.
Definition:
NewCoordSys.H:30
AnalyticCSFactory::m_Xi
RefCountedPtr< VectorFunction > m_Xi
Definition:
AnalyticCS.H:76
Generated by
1.8.13