Boundary conditions are created and tested.

- exit and periodic, follows the previous commit.
This commit is contained in:
Hamidreza Norouzi
2024-04-04 12:31:19 -07:00
parent 65b3f5a8a0
commit 818106a34a
40 changed files with 2034 additions and 460 deletions

View File

@ -27,6 +27,7 @@ Licence:
#include "box.hpp"
#include "particles.hpp"
#include "geometry.hpp"
#include "boundaryContactSearchList.hpp"
namespace pFlow
{
@ -50,6 +51,8 @@ private:
uniquePtr<SearchMethodType> ppwContactSearch_ = nullptr;
boundaryContactSearchList csBoundaries_;
public:
TypeInfoTemplate11("ContactSearch", SearchMethodType);
@ -61,14 +64,24 @@ public:
const geometry& geom,
Timers& timers)
:
contactSearch(csDict, extDomain, prtcl, geom, timers)
contactSearch(
csDict,
extDomain,
prtcl,
geom,
timers),
csBoundaries_(
csDict,
Particles().pStruct().boundaries(),
*this)
{
auto method = dict().getVal<word>("method");
/*auto method = dict().getVal<word>("method");
auto nbDict = dict().subDict(method+"Info");
auto nbDict = dict().subDict(method+"Info");*/
real minD, maxD;
real minD;
real maxD;
this->Particles().boundingSphereMinMax(minD, maxD);
const auto& position = this->Particles().pointPosition().deviceViewAll();
@ -84,7 +97,7 @@ public:
ppwContactSearch_ =
makeUnique<SearchMethodType>
(
nbDict,
dict(),
this->extendedDomainBox(),
minD,
maxD,
@ -141,11 +154,27 @@ public:
}
ppTimer().end();
return true;
}
bool boundaryBroadSearch(
uint32 i,
uint32 iter,
real t,
real dt,
csPairContainerType& ppPairs,
csPairContainerType& pwPairs,
bool force = false)override
{
return csBoundaries_[i].broadSearch(
iter,
t,
dt,
ppPairs,
pwPairs,
force);
}
bool enterBroadSearch(uint32 iter, real t, real dt)const override
{