<metaname="description"content="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.">
<!-- iframe showing the search results (closed by default) -->
<divid="MSearchResultsWindow">
<iframesrc="javascript:void(0)"frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<divclass="header">
<divclass="headertitle">
<divclass="title">insertionRegion.cpp</div></div>
</div><!--header-->
<divclass="contents">
<ahref="insertionRegion_8cpp.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment"> O C enter of</span></div>
<divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment"> O O E ngineering and</span></div>
<divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment"> O O M ultiscale modeling of</span></div>
<divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> <spanclass="comment"> This file is part of phasicFlow code. It is a free software for simulating</span></div>
<divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> <spanclass="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="comment"> the terms of GNU General Public License v3 or any other later versions.</span></div>
<divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> <spanclass="comment"> phasicFlow is distributed to help others in their research in the field of</span></div>
<divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> <spanclass="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> <spanclass="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<divclass="line"><aname="l00037"></a><spanclass="lineno"> 37</span>  T val = tpEntry.<aclass="code"href="classpFlow_1_1twoPartEntry.html#a2062a764da3c3b7d8e1c52418e2d3ed0">secondPartVal</a><T>();</div>
<divclass="line"><aname="l00058"></a><spanclass="lineno"> 58</span> <aclass="code"href="error_8hpp.html#aca9aa547c8441e4410a65a2ce7c21554">fatalErrorInFunction</a><<<spanclass="stringliteral">"un-supported data type "</span><< stField.<aclass="code"href="classpFlow_1_1twoPartEntry.html#aa7ef84be740ccd490805a70a6e7a91b6">firstPart</a>()</div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_a6213c36141284c7076c29445514d610e"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#a6213c36141284c7076c29445514d610e">pFlow::insertionRegion::numInserted_</a></div><divclass="ttdeci">uint32 numInserted_</div><divclass="ttdoc">number of inserted particles</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00106">insertionRegion.hpp:106</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1List_html"><divclass="ttname"><ahref="classpFlow_1_1List.html">pFlow::List< word ></a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertion_html_ae355b601249331cd5c4facb48df43223"><divclass="ttname"><ahref="classpFlow_1_1insertion.html#ae355b601249331cd5c4facb48df43223">pFlow::insertion::pStruct</a></div><divclass="ttdeci">const pointStructure & pStruct() const</div><divclass="ttdef"><b>Definition:</b><ahref="insertion_8cpp_source.html#l00072">insertion.cpp:72</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_addee41d6ac047acd59c85e776d4e6fb9"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#addee41d6ac047acd59c85e776d4e6fb9">pFlow::insertionRegion::type_</a></div><divclass="ttdeci">word type_</div><divclass="ttdoc">type of insertion region</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00109">insertionRegion.hpp:109</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_ab381dc3f8dadd5cf3ea1ca00167243bb"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#ab381dc3f8dadd5cf3ea1ca00167243bb">pFlow::insertionRegion::numberToBeInserted</a></div><divclass="ttdeci">uint32 numberToBeInserted(uint32 iter, real t, real dt)</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8cpp_source.html#l00174">insertionRegion.cpp:174</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_a14b0f1d26ae509ecdc74746fe58d76cf"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#a14b0f1d26ae509ecdc74746fe58d76cf">pFlow::insertionRegion::insertionRegion</a></div><divclass="ttdeci">insertionRegion(const word &name, const insertion &instn)</div><divclass="ttdoc">Construct from a dictionary.</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8cpp_source.html#l00152">insertionRegion.cpp:152</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_ae355b601249331cd5c4facb48df43223"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#ae355b601249331cd5c4facb48df43223">pFlow::insertionRegion::pStruct</a></div><divclass="ttdeci">const pointStructure & pStruct() const</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8cpp_source.html#l00168">insertionRegion.cpp:168</a></div></div>
<divclass="ttc"id="anamespacepFlow_html_abd01e8e67e3d94cab04ecaaf4f85ac1b"><divclass="ttname"><ahref="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">pFlow::uint32</a></div><divclass="ttdeci">unsigned int uint32</div><divclass="ttdef"><b>Definition:</b><ahref="builtinTypes_8hpp_source.html#l00056">builtinTypes.hpp:56</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_aa4d7322eaead3c887a9283546628de96"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#aa4d7322eaead3c887a9283546628de96">pFlow::dictionary::subDictOrCreate</a></div><divclass="ttdeci">dictionary & subDictOrCreate(const word &keyword)</div><divclass="ttdoc">search for a sub-dict with keyword create a new sub-dict if not found and return a ref to it fatalExi...</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00647">dictionary.cpp:647</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a6ae2ea14b8b5e5661c2f207aae2d4bdc"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a6ae2ea14b8b5e5661c2f207aae2d4bdc">pFlow::dictionary::add</a></div><divclass="ttdeci">bool add(const word &keyword, const float &v)</div><divclass="ttdoc">add a float dataEntry</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00435">dictionary.cpp:435</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertion_html_a79f71c440e1abdc21e5b187198924c80"><divclass="ttname"><ahref="classpFlow_1_1insertion.html#a79f71c440e1abdc21e5b187198924c80">pFlow::insertion::Particles</a></div><divclass="ttdeci">particles & Particles()</div><divclass="ttdef"><b>Definition:</b><ahref="insertion_8hpp_source.html#l00090">insertion.hpp:90</a></div></div>
<divclass="ttc"id="anamespacepFlow_html_aba8f0c455a3fdb4b05ad33a25b13b189"><divclass="ttname"><ahref="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">pFlow::endl</a></div><divclass="ttdeci">iOstream & endl(iOstream &os)</div><divclass="ttdoc">Add newline and flush stream.</div><divclass="ttdef"><b>Definition:</b><ahref="iOstream_8hpp_source.html#l00341">iOstream.hpp:341</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_a4d3dfef53630882b1fe95583bd46d4c9"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#a4d3dfef53630882b1fe95583bd46d4c9">pFlow::insertionRegion::mixture_</a></div><divclass="ttdeci">uniquePtr< shapeMixture > mixture_</div><divclass="ttdoc">mixture of shapes</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00115">insertionRegion.hpp:115</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_a9f6977fce84078d4dba954133f452a90"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#a9f6977fce84078d4dba954133f452a90">pFlow::insertionRegion::setFieldDict_</a></div><divclass="ttdeci">uniquePtr< dictionary > setFieldDict_</div><divclass="ttdoc">dictionary for set field</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00118">insertionRegion.hpp:118</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dataEntry_html"><divclass="ttname"><ahref="classpFlow_1_1dataEntry.html">pFlow::dataEntry</a></div><divclass="ttdoc">Data entry to be used in dictionries.</div><divclass="ttdef"><b>Definition:</b><ahref="dataEntry_8hpp_source.html#l00048">dataEntry.hpp:48</a></div></div>
<divclass="ttc"id="aerror_8hpp_html_aca9aa547c8441e4410a65a2ce7c21554"><divclass="ttname"><ahref="error_8hpp.html#aca9aa547c8441e4410a65a2ce7c21554">fatalErrorInFunction</a></div><divclass="ttdeci">#define fatalErrorInFunction</div><divclass="ttdoc">Report a fatal error and function name and exit the application.</div><divclass="ttdef"><b>Definition:</b><ahref="error_8hpp_source.html#l00077">error.hpp:77</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_a6af97f6ba06d4ad5536c61070cd26f2f"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#a6af97f6ba06d4ad5536c61070cd26f2f">pFlow::insertionRegion::insertion_</a></div><divclass="ttdeci">const insertion & insertion_</div><divclass="ttdoc">ref to insertion</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00097">insertionRegion.hpp:97</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_a892ddcb9cba6f50b0396cdb7bf1b4f6a"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#a892ddcb9cba6f50b0396cdb7bf1b4f6a">pFlow::insertionRegion::dict_</a></div><divclass="ttdeci">const dictionary & dict_</div><divclass="ttdoc">insertion region dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00094">insertionRegion.hpp:94</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1peakableRegion_html_a7c89091eec63fb3273bfeac98f38343f"><divclass="ttname"><ahref="classpFlow_1_1peakableRegion.html#a7c89091eec63fb3273bfeac98f38343f">pFlow::peakableRegion::create</a></div><divclass="ttdeci">static uniquePtr< peakableRegion > create(const word &type, const dictionary &dict)</div><divclass="ttdef"><b>Definition:</b><ahref="peakableRegion_8cpp_source.html#l00036">peakableRegion.cpp:36</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1twoPartEntry_html_a6e2f067678f335e33a68d5d8fae2597d"><divclass="ttname"><ahref="classpFlow_1_1twoPartEntry.html#a6e2f067678f335e33a68d5d8fae2597d">pFlow::twoPartEntry::keyword</a></div><divclass="ttdeci">const word & keyword() const</div><divclass="ttdef"><b>Definition:</b><ahref="twoPartEntry_8hpp_source.html#l00046">twoPartEntry.hpp:46</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_aa364cd422ed5085c750de4a19a321f7f"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#aa364cd422ed5085c750de4a19a321f7f">pFlow::insertionRegion::writeInsertionRegion</a></div><divclass="ttdeci">bool writeInsertionRegion(dictionary &dict) const</div><divclass="ttdoc">write to dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8cpp_source.html#l00102">insertionRegion.cpp:102</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_a9e81e11944c2000f458fdb15b0b44d1a"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#a9e81e11944c2000f458fdb15b0b44d1a">pFlow::insertionRegion::dict</a></div><divclass="ttdeci">const auto & dict() const</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00162">insertionRegion.hpp:162</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_af5c2a2fe246051f18b23a3fd1bf23249"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#af5c2a2fe246051f18b23a3fd1bf23249">pFlow::insertionRegion::pRegion_</a></div><divclass="ttdeci">uniquePtr< peakableRegion > pRegion_</div><divclass="ttdoc">peakable region of points</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00112">insertionRegion.hpp:112</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1twoPartEntry_html_aa7ef84be740ccd490805a70a6e7a91b6"><divclass="ttname"><ahref="classpFlow_1_1twoPartEntry.html#aa7ef84be740ccd490805a70a6e7a91b6">pFlow::twoPartEntry::firstPart</a></div><divclass="ttdeci">const word & firstPart() const</div><divclass="ttdef"><b>Definition:</b><ahref="twoPartEntry_8hpp_source.html#l00051">twoPartEntry.hpp:51</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html_a884a981ad2a220efcd7f6e8bf6cd94e2"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html#a884a981ad2a220efcd7f6e8bf6cd94e2">pFlow::dictionary::addDict</a></div><divclass="ttdeci">bool addDict(const word &keyword, const dictionary &dict)</div><divclass="ttdoc">add a dictionary with the specifiedd keyword, if it exists, replace it.</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8cpp_source.html#l00526">dictionary.cpp:526</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1Insertion_html"><divclass="ttname"><ahref="classpFlow_1_1Insertion.html">pFlow::Insertion</a></div><divclass="ttdoc">This class manages all the insertion regions for particles insertion in the simulation.</div><divclass="ttdef"><b>Definition:</b><ahref="Insertion_8hpp_source.html#l00056">Insertion.hpp:56</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_ac29edb543b14ed93013258583f9684a1"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#ac29edb543b14ed93013258583f9684a1">pFlow::insertionRegion::rate_</a></div><divclass="ttdeci">real rate_</div><divclass="ttdoc">rate of insertion</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8hpp_source.html#l00103">insertionRegion.hpp:103</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertionRegion_html_adcd85aab41f3f4715afb2d17e5f8d53d"><divclass="ttname"><ahref="classpFlow_1_1insertionRegion.html#adcd85aab41f3f4715afb2d17e5f8d53d">pFlow::insertionRegion::readInsertionRegion</a></div><divclass="ttdeci">bool readInsertionRegion(const dictionary &dict)</div><divclass="ttdoc">read from dictionary</div><divclass="ttdef"><b>Definition:</b><ahref="insertionRegion_8cpp_source.html#l00067">insertionRegion.cpp:67</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1anyList_html_a8999c5f6c990229f70977be073d26a84"><divclass="ttname"><ahref="classpFlow_1_1anyList.html#a8999c5f6c990229f70977be073d26a84">pFlow::anyList::emplaceBack</a></div><divclass="ttdeci">reference emplaceBack(const word &name, Args &&... args)</div><divclass="ttdoc">Create variable using constructor in-place.</div><divclass="ttdef"><b>Definition:</b><ahref="anyList_8hpp_source.html#l00084">anyList.hpp:84</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1dictionary_html"><divclass="ttname"><ahref="classpFlow_1_1dictionary.html">pFlow::dictionary</a></div><divclass="ttdoc">Dictionary holds a set of data entries or sub-dictionaries that are enclosed in a curely braces or ar...</div><divclass="ttdef"><b>Definition:</b><ahref="dictionary_8hpp_source.html#l00067">dictionary.hpp:67</a></div></div>
<divclass="ttc"id="aclasspFlow_1_1insertion_html"><divclass="ttname"><ahref="classpFlow_1_1insertion.html">pFlow::insertion</a></div><divclass="ttdoc">Base class for particle insertion.</div><divclass="ttdef"><b>Definition:</b><ahref="insertion_8hpp_source.html#l00035">insertion.hpp:35</a></div></div>