Itasca C++ Interface
Loading...
Searching...
No Matches
imoduleccfd.h
Go to the documentation of this file.
1#pragma once
8// imoduleccfd.h
9// For CCFD Module
10#include "base/src/farray.h"
11
12namespace itasca {
13 class IContainer;
14}
15
17namespace ccfd {
18 using namespace itasca;
19 class ICcfdElement;
22
25 public:
26 virtual TType getElementFluidType() const =0;
27 virtual const ICcfdElement * findElementFluidWithID(uint64 id) const =0;
28 virtual ICcfdElement * findElementFluidWithID(uint64 id) =0;
29
30 virtual int getNumberOfElements() const =0;
31 virtual int getElementNode(int element, int node) const =0;
32 virtual int getElementFaces() const =0; // number of faces in an element
33 virtual int getElementNodes() const =0;
34 virtual const ICcfdElement * getICcfdElement(int i) const =0;
35 virtual const char * getCcfdElementType() const =0;
36 virtual int getElementNodeGlobalAddress(int e, int n) const =0;
37 virtual const IContainer *getIContainerElement() const = 0;
38 virtual IContainer * getIContainerElement() = 0;
39 virtual uint32 getElementCyclingNotice() const = 0;
40 virtual uint32 getElementGeometryNotice() const = 0;
41 virtual uint32 getElementExtraNotice() const = 0;
42 virtual uint32 getElementGroupNotice() const = 0;
43 virtual uint32 getCCFDCleanNotice() const = 0;
44 virtual void createMesh(const QList<double> &nlist, const QList<qint64> &elist)=0;
45
46 // Populates sets of property names based on their type including the relevant notices
47 virtual void populateElementAttributeSets(QStringList *scalarAtts,FArray<uint32> *scalarNotices,QStringList *stringAtts,FArray<uint32> *stringNotices,QStringList *vectorAtts,FArray<uint32> *vectorNotices)const=0;
48
49 //elements in a box
50 virtual void getElementsInBoxList(const DExtent &d,FArray<ICcfdElement *> *ret,bool intersect=true)=0;
51 virtual void getElementsInBoxList(const DExtent &d,FArray<const ICcfdElement *> *ret,bool intersect=true)=0;
52 virtual const ICcfdElement * findElementClosestTo(const DVect &v,const double &radius=limits<double>::max()) const=0;
53 virtual ICcfdElement * findElementClosestTo(const DVect &v,const double &radius=limits<double>::max())=0;
55
56
57 };
58
59} // namespace ccfd
60// EoF
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Definition idef.h:50
Definition iccfdelement.h:17
Interface for the PFC ccfd module.
Definition imoduleccfd.h:24
Interface for containers of IThings.
Definition icontainer.h:21
debug checked shorthand for std::numeric_limits<T>::
Definition limit.h:25
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition basedef.h:46
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition dim.h:160
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
ccfd namespace
Definition iballfluid.h:19
namespace Itasca
Definition basememory.cpp:10