-
Notifications
You must be signed in to change notification settings - Fork 0
/
SIM_PBSolverFLAdvect.h
47 lines (32 loc) · 1.23 KB
/
SIM_PBSolverFLAdvect.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#pragma once
class SIM_PBSolverFLAdvect : public SIM_SingleSolver, public SIM_OptionsUser
{
public:
// Access methods for our configuration data.
//GETSET_DATA_FUNCS_I(SIM_NAME_ACTIVATE, Activate);
//GETSET_DATA_FUNCS_F(SIM_NAME_DISSIPATE, Dissipate);
GETSET_DATA_FUNCS_S(SIM_NAME_CHANNELS, Channels);
GETSET_DATA_FUNCS_S(SIM_NAME_DATAGEOMETRY, DataName);
protected:
explicit SIM_PBSolverFLAdvect(const SIM_DataFactory *factory) : BaseClass(factory), SIM_OptionsUser(this) {};
virtual ~SIM_PBSolverFLAdvect() {};
virtual SIM_Result solveSingleObjectSubclass(SIM_Engine &engine,
SIM_Object &object,
SIM_ObjectArray &feedbacktoobjects,
const SIM_Time ×tep,
bool newobject);
private:
static const SIM_DopDescription *getDopDescription();
DECLARE_STANDARD_GETCASTTOTYPE();
DECLARE_DATAFACTORY(SIM_PBSolverFLAdvect, SIM_SingleSolver, "PBFL Solver Advect", getDopDescription());
// THREADING PART
THREADED_METHOD(SIM_PBSolverFLAdvect, true, solve);
void solvePartial(const UT_JobInfo &info);
vector<Page*> m_Ps, m_Vs, m_Rels, m_dPdUs, m_dPdVs, m_Ns, m_Gs;
UT_Lock m_lock;
vector<Proxy> m_sources;
vector<Proxy> m_proxies;
float m_timestep; // , m_dissipation;
UT_StringArray m_channels;
SIM_Pebble* m_pebble;
};