ESScript
Revision_
Main Page
Namespaces
Classes
Files
File List
File Members
weipa
src
FinleyDomain.h
Go to the documentation of this file.
1
2
/*****************************************************************************
3
*
4
* Copyright (c) 2003-2013 by University of Queensland
5
* http://www.uq.edu.au
6
*
7
* Primary Business: Queensland, Australia
8
* Licensed under the Open Software License version 3.0
9
* http://www.opensource.org/licenses/osl-3.0.php
10
*
11
* Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12
* Development since 2012 by School of Earth Sciences
13
*
14
*****************************************************************************/
15
16
#ifndef __WEIPA_FINLEYDOMAIN_H__
17
#define __WEIPA_FINLEYDOMAIN_H__
18
19
#include <weipa/DomainChunk.h>
20
#include <weipa/FinleyElements.h>
21
#include <boost/enable_shared_from_this.hpp>
22
23
namespace
finley {
24
class
Mesh;
25
}
26
27
namespace
weipa {
28
40
class
FinleyDomain
:
public
DomainChunk
,
public
boost::enable_shared_from_this<FinleyDomain>
41
{
42
public
:
43
FinleyDomain
();
44
FinleyDomain
(
const
FinleyDomain
& m);
45
virtual
~FinleyDomain
();
46
virtual
bool
initFromEscript
(
const
escript::AbstractDomain* domain);
47
virtual
bool
initFromFile
(
const
std::string& filename);
48
virtual
bool
writeToSilo
(DBfile* dbfile,
const
std::string& pathInSilo,
49
const
StringVec
& labels,
const
StringVec
& units,
50
bool
writeMeshData);
51
virtual
void
reorderGhostZones
(
int
ownIndex);
52
virtual
void
removeGhostZones
(
int
ownIndex);
53
virtual
StringVec
getMeshNames
()
const
;
54
virtual
StringVec
getVarNames
()
const
;
55
virtual
ElementData_ptr
getElementsByName
(
const
std::string& name)
const
;
56
virtual
NodeData_ptr
getMeshByName
(
const
std::string& name)
const
;
57
virtual
DataVar_ptr
getDataVarByName
(
const
std::string& name)
const
;
58
virtual
Centering
getCenteringForFunctionSpace
(
int
fsCode)
const
;
59
virtual
NodeData_ptr
getMeshForFunctionSpace
(
int
fsCode)
const
;
60
virtual
ElementData_ptr
getElementsForFunctionSpace
(
int
fsCode)
const
;
61
virtual
NodeData_ptr
getNodes
()
const
{
return
nodes
; }
62
virtual
std::string
getSiloPath
()
const
{
return
siloPath
; }
63
virtual
void
setSiloPath
(
const
std::string& path) {
siloPath
= path; }
64
65
private
:
66
void
cleanup
();
67
68
bool
initialized
;
69
FinleyNodes_ptr
nodes
;
70
FinleyElements_ptr
cells
;
71
FinleyElements_ptr
faces
;
72
FinleyElements_ptr
contacts
;
73
std::string
siloPath
;
74
};
75
76
}
// namespace weipa
77
78
#endif // __WEIPA_FINLEYDOMAIN_H__
79
Generated on Thu Dec 12 2013 03:47:18 for ESScript by
1.8.1.2