# PhasicFlow: src/phasicFlow/structuredData/boundaries/boundaryPeriodic/boundaryPeriodic.hpp Source File
PhasicFlow is an open-source parallel DEM (discrete element method) package for simulating granular flow. It is developed in C++ and can be exectued on both GPU (like CUDA) and CPU.

boundaryPeriodic.hpp
Go to the documentation of this file.
/*------------------------------- phasicFlow ---------------------------------
O C enter of
O O E ngineering and
O O M ultiscale modeling of
OOOOOOO F luid flow
------------------------------------------------------------------------------
Copyright (C): www.cemf.ir
email: hamid.r.norouzi AT gmail.com
------------------------------------------------------------------------------
Licence:
This file is part of phasicFlow code. It is a free software for simulating
granular and multiphase flows. You can redistribute it and/or modify it under
the terms of GNU General Public License v3 or any other later versions.
phasicFlow is distributed to help others in their research in the field of
granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-----------------------------------------------------------------------------*/
#ifndef __boundaryPeriodic_hpp__
#define __boundaryPeriodic_hpp__
#include "boundaryBase.hpp"
namespace pFlow
{
class boundaryPeriodic
:
public boundaryBase
{
private:
uint32 mirrorBoundaryIndex_;
real extensionLength_ = 0.1;
public:
TypeInfo("boundary<periodic>");
boundaryPeriodic(
const dictionary &dict,
const plane &bplane,
internalPoints &internal,
boundaryList &bndrs,
uint32 thisIndex);
~boundaryPeriodic() override= default;
add_vCtor
(
boundaryBase,
boundaryPeriodic,
dictionary
);
real neighborLength()const override;
realx3 boundaryExtensionLength()const override;
bool beforeIteration(
uint32 step,
const timeInfo& ti,
bool updateIter,
bool iterBeforeUpdate ,
bool& callAgain
) final ;
bool iterate(const timeInfo& ti) final;
bool afterIteration(const timeInfo& ti)final;
};
}
#endif
pFlow::boundaryPeriodic::TypeInfo
TypeInfo("boundary<periodic>")
pFlow::internalPoints
Definition: internalPoints.hpp:38
pFlow::boundaryPeriodic::afterIteration
bool afterIteration(const timeInfo &ti) final
Definition: boundaryPeriodic.cpp:130
pFlow::real
float real
Definition: builtinTypes.hpp:45
pFlow::plane
Definition: plane.hpp:30
pFlow::boundaryPeriodic::boundaryExtensionLength
realx3 boundaryExtensionLength() const override
The extention length (in vector form) for the boundary as required by each boundary type.
Definition: boundaryPeriodic.cpp:47
pFlow::boundaryPeriodic
Definition: boundaryPeriodic.hpp:30
boundaryBase.hpp
pFlow::uint32
unsigned int uint32
Definition: builtinTypes.hpp:56
pFlow::boundaryList
Definition: boundaryList.hpp:35
pFlow::boundaryPeriodic::add_vCtor
add_vCtor(boundaryBase, boundaryPeriodic, dictionary)
pFlow::timeInfo
Definition: timeInfo.hpp:28
pFlow
Definition: demGeometry.hpp:27
pFlow::boundaryPeriodic::neighborLength
real neighborLength() const override
The distance length from boundary plane where neighbor particles still exist in that distance.
Definition: boundaryPeriodic.cpp:42
pFlow::boundaryBase
Definition: boundaryBase.hpp:42
pFlow::boundaryPeriodic::iterate
bool iterate(const timeInfo &ti) final
Definition: boundaryPeriodic.cpp:125
pFlow::boundaryPeriodic::extensionLength_
real extensionLength_
Definition: boundaryPeriodic.hpp:38
pFlow::boundaryPeriodic::mirrorBoundaryIndex_
uint32 mirrorBoundaryIndex_
Definition: boundaryPeriodic.hpp:36
pFlow::triple< real >
pFlow::boundaryPeriodic::boundaryPeriodic
boundaryPeriodic(const dictionary &dict, const plane &bplane, internalPoints &internal, boundaryList &bndrs, uint32 thisIndex)
Definition: boundaryPeriodic.cpp:27
pFlow::dictionary
Dictionary holds a set of data entries or sub-dictionaries that are enclosed in a curely braces or ar...
Definition: dictionary.hpp:67
pFlow::boundaryPeriodic::beforeIteration
bool beforeIteration(uint32 step, const timeInfo &ti, bool updateIter, bool iterBeforeUpdate, bool &callAgain) final
Definition: boundaryPeriodic.cpp:53
pFlow::boundaryPeriodic::~boundaryPeriodic
~boundaryPeriodic() override=default