Itasca C++ Interface
Loading...
Searching...
No Matches
idomain.h
Go to the documentation of this file.
1#pragma once
2//
3
10#include "dim.h"
11#include "shared/interface/signal.h"
12
13namespace itasca {
14 class IThing;
15}
16
17namespace itascaxd {
19
22 using namespace itasca;
23 class IDomain {
24 public:
26 inline static const TType type_ = 0x4c815b87;
27
28 shared::Signal<const DExtent &,bool> domainExtentChanged; //e, contactCreateDete
29 shared::Signal<uint32,int> conditionChanged; // dof, condition
31 virtual const IThing *getIThing() const=0;
33 virtual IThing * getIThing()=0;
34
36 virtual DExtent getDomainExtent() const=0;
38 virtual DVect getDomainLowerBound() const=0;
40 virtual DVect getDomainUpperBound() const=0;
42 virtual DMatrix<DIM,DIM> getStrainRate() const =0;
44 virtual double getRemapTolerance() const=0;
46 virtual void setDomainLowerBound(const DVect &)=0;
48 virtual void setDomainUpperBound(const DVect &)=0;
50 virtual void setStrainRate(const DMatrix<DIM,DIM> &)=0;
52 virtual void setRemapTolerance(const double &)=0;
53
55 virtual int getCondition(uint32 dof) const=0;
56 virtual QString getCondition(const QString &dir) const=0;
58 virtual QStringList getConditionNames() const=0;
60 virtual bool hasPeriodic() const=0;
61
63 virtual void setDomainExtent(const DExtent &e,bool=false)=0;
65 virtual void setCondition(uint32 dof,int condition)=0;
66 virtual void setCondition(const QString &dir,const QString &cond)=0;
67
69 virtual bool getMPIDomain() const=0;
71 virtual void setMPIDomain(bool)=0;
72
73 #ifdef TWOD
74 virtual double getDepth() const=0;
75 //virtual void setDepth(const double &depth)=0;
76 //virtual void depthChanged(const double &d)=0; // SIGNAL
77 #endif
78 };
79} // namespace itascaxd
80// EoF
DMatrix is a Matrix that defaults to type double...
Definition matrix.h:758
Base class for items that will be stored in containers.
Definition ithing.h:30
Definition idomain.h:23
virtual const IThing * getIThing() const =0
Returns a const IThing interface pointer associated with this domain.
virtual DExtent getDomainExtent() const =0
Returns the domain extent.
virtual void setRemapTolerance(const double &)=0
Set the domain remap tolerance
virtual QStringList getConditionNames() const =0
Returns the domain condition name. Possible values are: Stop, Reflect, Destroy and Periodic.
virtual void setCondition(uint32 dof, int condition)=0
Sets the domain condition.
virtual int getCondition(uint32 dof) const =0
Returns the domain condition.
virtual bool getMPIDomain() const =0
Returns if the domain is in mpi mode.
virtual void setDomainExtent(const DExtent &e, bool=false)=0
Sets the domain extent.
virtual IThing * getIThing()=0
Returns a IThing interface pointer associated with this domain.
virtual DVect getDomainUpperBound() const =0
Returns the domain extent upper bound.
virtual double getRemapTolerance() const =0
Get the domain remap tolerance
virtual void setStrainRate(const DMatrix< DIM, DIM > &)=0
Set the domain strain rate
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition idomain.h:26
virtual bool hasPeriodic() const =0
Returns whether or not there is a periodic condition on any boundary.
virtual DVect getDomainLowerBound() const =0
Returns the domain extent lower bound.
virtual void setDomainUpperBound(const DVect &)=0
Set the domain extent upper bound
virtual DMatrix< DIM, DIM > getStrainRate() const =0
Returns the domain strain rate
virtual void setMPIDomain(bool)=0
Set if the domain is in mpi mode.
virtual void setDomainLowerBound(const DVect &)=0
Set the domain extent lower bound.
DIM - Provides code portability between 2D and 3D codes.
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
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4