PhasicFlow
v0.1
www.cemf.ir
integration.hpp
Go to the documentation of this file.
1
/*------------------------------- phasicFlow ---------------------------------
2
O C enter of
3
O O E ngineering and
4
O O M ultiscale modeling of
5
OOOOOOO F luid flow
6
------------------------------------------------------------------------------
7
Copyright (C): www.cemf.ir
8
email: hamid.r.norouzi AT gmail.com
9
------------------------------------------------------------------------------
10
Licence:
11
This file is part of phasicFlow code. It is a free software for simulating
12
granular and multiphase flows. You can redistribute it and/or modify it under
13
the terms of GNU General Public License v3 or any other later versions.
14
15
phasicFlow is distributed to help others in their research in the field of
16
granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the
17
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
19
-----------------------------------------------------------------------------*/
20
21
#ifndef __integration_hpp__
22
#define __integration_hpp__
23
24
25
#include "
virtualConstructor.hpp
"
26
#include "
Vectors.hpp
"
27
#include "
pointStructure.hpp
"
28
#include "
repository.hpp
"
29
30
31
namespace
pFlow
32
{
33
34
35
class
integration
36
{
37
protected
:
38
39
repository
&
owner_
;
40
41
const
word
baseName_
;
42
43
const
pointStructure
&
pStruct_
;
44
45
public
:
46
47
// type info
48
TypeInfo
(
"integration"
);
49
51
integration
(
52
const
word
&
baseName
,
53
repository
&
owner
,
54
const
pointStructure
&
pStruct
,
55
const
word
& method);
56
57
virtual
~integration
()=
default
;
58
59
// - add a virtual constructor
60
create_vCtor
(
61
integration
,
62
word
,
63
(
const
word
&
baseName
,
64
repository
&
owner
,
65
const
pointStructure
&
pStruct
,
66
const
word
& method),
67
(
baseName
,
owner
,
pStruct
, method) );
68
69
71
72
const
auto
&
pStruct
()
const
73
{
74
return
pStruct_
;
75
}
76
77
virtual
bool
predict
(
real
dt,
realx3Vector_D
& y,
realx3Vector_D
& dy) = 0;
78
79
virtual
bool
correct
(
real
dt,
realx3Vector_D
& y,
realx3Vector_D
& dy) = 0;
80
81
virtual
bool
setInitialVals
(
82
const
int32IndexContainer
& newIndices,
83
const
realx3Vector
& y) = 0;
84
85
virtual
bool
needSetInitialVals
()
const
= 0;
86
87
virtual
uniquePtr<integration>
clone
()
const
=0;
88
89
const
word
&
baseName
()
const
90
{
91
return
baseName_
;
92
}
93
94
repository
&
owner
()
95
{
96
return
owner_
;
97
}
98
99
static
100
uniquePtr<integration>
create
(
101
const
word
&
baseName
,
102
repository
&
owner
,
103
const
pointStructure
&
pStruct
,
104
const
word
& method);
105
106
};
107
108
}
// pFlow
109
110
111
#endif //__integration_hpp__
pFlow::integration::owner_
repository & owner_
Definition:
integration.hpp:39
pFlow::real
float real
Definition:
builtinTypes.hpp:46
pFlow::integration::baseName_
const word baseName_
Definition:
integration.hpp:41
pFlow::integration
Definition:
integration.hpp:35
pFlow::integration::pStruct
const auto & pStruct() const
Definition:
integration.hpp:72
pFlow::integration::predict
virtual bool predict(real dt, realx3Vector_D &y, realx3Vector_D &dy)=0
pFlow::integration::setInitialVals
virtual bool setInitialVals(const int32IndexContainer &newIndices, const realx3Vector &y)=0
pFlow::integration::correct
virtual bool correct(real dt, realx3Vector_D &y, realx3Vector_D &dy)=0
pFlow::word
std::string word
Definition:
builtinTypes.hpp:63
Vectors.hpp
pFlow::integration::baseName
const word & baseName() const
Definition:
integration.hpp:89
pFlow::integration::clone
virtual uniquePtr< integration > clone() const =0
pFlow
Definition:
demComponent.hpp:28
pFlow::integration::TypeInfo
TypeInfo("integration")
repository.hpp
pFlow::pointStructure
Definition:
pointStructure.hpp:44
pFlow::integration::create_vCtor
create_vCtor(integration, word,(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method),(baseName, owner, pStruct, method))
virtualConstructor.hpp
pFlow::VectorSingle
Definition:
VectorSingle.hpp:45
pFlow::integration::create
static uniquePtr< integration > create(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
Definition:
integration.cpp:40
pFlow::integration::owner
repository & owner()
Definition:
integration.hpp:94
pFlow::integration::~integration
virtual ~integration()=default
pFlow::uniquePtr
Definition:
uniquePtr.hpp:44
pFlow::integration::integration
integration(const word &baseName, repository &owner, const pointStructure &pStruct, const word &method)
Definition:
integration.cpp:24
pFlow::integration::pStruct_
const pointStructure & pStruct_
Definition:
integration.hpp:43
pFlow::integration::needSetInitialVals
virtual bool needSetInitialVals() const =0
pFlow::repository
Definition:
repository.hpp:34
pFlow::Vector< realx3 >
pointStructure.hpp
pFlow::indexContainer< int32 >
src
Integration
integration
integration.hpp
Generated by
1.8.17