# PhasicFlow: src/phasicFlow/dictionary/twoPartEntry/twoPartEntry.cpp 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.

twoPartEntry.cpp
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.
-----------------------------------------------------------------------------*/
// based on OpenFOAM dictionary, with some modifications/simplifications
// to be tailored to our needs
#include "twoPartEntry.hpp"
pFlow::twoPartEntry::twoPartEntry
(
dataEntry entry
)
:
keyword_(entry.keyword()),
secondPart_(keyword_)
{
iTstream& iT = entry.stream();
iT >> firstPart_;
if(iT.eof()) return;
token t;
while(true)
{
if( !iT.read(t) )
{
fatalErrorInFunction<<"attemps to read from token stream failed \n";
fatalExit;
}
secondPart_.appendToken(t);
if(iT.eof())break;
}
}
bool pFlow::isTwoPartEntry(pFlow::dataEntry entry)
{
twoPartEntry tpEntry(entry);
if(tpEntry.secondPart().size() == 0) return false;
return true;
}
pFlow::IOstream::eof
bool eof() const
Return true if end of input seen.
Definition: IOstream.hpp:192
twoPartEntry.hpp
fatalExit
#define fatalExit
Fatal exit.
Definition: error.hpp:98
pFlow::token
Token class based on OpenFOAM stream, with some modifications/simplifications to be tailored to our n...
Definition: token.hpp:44
pFlow::dataEntry::stream
virtual iTstream & stream()
access to token stream
Definition: dataEntry.cpp:265
pFlow::twoPartEntry
Definition: twoPartEntry.hpp:36
pFlow::iTstream::size
size_t size() const
size
Definition: iTstream.cpp:336
pFlow::iEntry::keyword
virtual const word & keyword() const
return keyword
Definition: iEntry.hpp:88
pFlow::twoPartEntry::secondPart
iTstream & secondPart()
Definition: twoPartEntry.hpp:56
pFlow::dataEntry
Data entry to be used in dictionries.
Definition: dataEntry.hpp:48
fatalErrorInFunction
#define fatalErrorInFunction
Report a fatal error and function name and exit the application.
Definition: error.hpp:77
pFlow::iTstream::read
virtual iIstream & read(token &t) override
Return next token from stream.
Definition: iTstream.cpp:111
pFlow::iTstream
Input token stream.
Definition: iTstream.hpp:27
pFlow::isTwoPartEntry
bool isTwoPartEntry(dataEntry entry)
Definition: twoPartEntry.cpp:56
pFlow::twoPartEntry::twoPartEntry
twoPartEntry(dataEntry entry)
Definition: twoPartEntry.cpp:28