19 Commits

Author SHA1 Message Date
HRN
0acd52f1b1 documentation for v1.0 2025-01-10 13:02:07 +03:30
HRN
53c7b23728 merge from main 2025-01-10 12:37:42 +03:30
ce7070dc37 doc/html updated for integration 2023-04-23 12:52:57 -07:00
01034d0a26 Merge branch 'main' into documentation 2023-04-23 12:50:42 -07:00
aef6654c32 ggl code 2023-04-19 02:32:53 -07:00
67a93a006b meta 2023-04-18 13:17:24 -07:00
eeea0077ec Merge branch 'main' into documentation 2023-04-18 13:16:05 -07:00
93f6d6cfc3 logo added to documentation 2023-04-14 10:28:41 -07:00
3b4ed58bb1 Merge branch 'main' into documentation 2023-04-14 10:27:33 -07:00
123023579a doc for Geometry 2023-04-13 11:46:41 -07:00
895e48d89f Merge branch 'main' into documentation 2023-04-13 11:43:45 -07:00
f0e9896b26 style of documentation changed 2023-04-02 14:53:54 -07:00
57a47752cf Documentation style changed 2023-04-02 14:52:11 -07:00
b66082af0d doc 2023-04-02 11:35:43 -07:00
1ead684e8b Merge branch 'main' into documentation 2023-04-02 09:20:34 -07:00
bf59781bec rotating axis motion 2023-03-31 10:54:16 -07:00
6bf532ceb3 documentation for rotatingAxis 2023-03-31 10:50:39 -07:00
fa666de68a Merge branch 'main' into documentation 2023-03-31 10:49:33 -07:00
04f3b2a150 how to build added 2023-03-27 10:16:23 -07:00
8235 changed files with 853175 additions and 96698 deletions

1
.gitignore vendored
View File

@ -44,7 +44,6 @@ bin/**
lib/** lib/**
test*/** test*/**
**/**notnow **/**notnow
doc/code-documentation/
doc/DTAGS doc/DTAGS
# all possible time folders # all possible time folders
**/[0-9] **/[0-9]

View File

@ -3,17 +3,30 @@ cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
# set the project name and version # set the project name and version
project(phasicFlow VERSION 1.0 ) project(phasicFlow VERSION 1.0 )
set(CMAKE_CXX_STANDARD 20 CACHE STRING "" FORCE) set(CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_INSTALL_PREFIX ${phasicFlow_SOURCE_DIR} CACHE PATH "Install path of phasicFlow" FORCE) set(CMAKE_INSTALL_PREFIX ${phasicFlow_SOURCE_DIR} CACHE PATH "Install path of phasicFlow" FORCE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "build type") set(CMAKE_BUILD_TYPE Debug CACHE STRING "build type" FORCE)
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build using shared libraries" FORCE) set(BUILD_SHARED_LIBS ON CACHE BOOL "Build using shared libraries" FORCE)
mark_as_advanced(FORCE var BUILD_SHARED_LIBS) mark_as_advanced(FORCE var BUILD_SHARED_LIBS)
message(STATUS "Install prefix is:" ${CMAKE_INSTALL_PREFIX}) message(STATUS ${CMAKE_INSTALL_PREFIX})
include(cmake/globals.cmake) include(cmake/globals.cmake)
#Kokkos directory to be included
set(Kokkos_Source_DIR)
if(DEFINED ENV{Kokkos_DIR})
set(Kokkos_Source_DIR $ENV{Kokkos_DIR})
else()
set(Kokkos_Source_DIR $ENV{HOME}/Kokkos/kokkos)
endif()
message(STATUS "Kokkos source directory is ${Kokkos_Source_DIR}")
add_subdirectory(${Kokkos_Source_DIR} ./kokkos)
Kokkos_cmake_settings()
option(pFlow_STD_Parallel_Alg "Use TTB std parallel algorithms" ON) option(pFlow_STD_Parallel_Alg "Use TTB std parallel algorithms" ON)
option(pFlow_Build_Serial "Build phasicFlow and backends for serial execution" OFF) option(pFlow_Build_Serial "Build phasicFlow and backends for serial execution" OFF)
option(pFlow_Build_OpenMP "Build phasicFlow and backends for OpenMP execution" OFF) option(pFlow_Build_OpenMP "Build phasicFlow and backends for OpenMP execution" OFF)
@ -21,8 +34,6 @@ option(pFlow_Build_Cuda "Build phasicFlow and backends for Cuda execution" OFF
option(pFlow_Build_Double "Build phasicFlow with double precision floating-oint variables" ON) option(pFlow_Build_Double "Build phasicFlow with double precision floating-oint variables" ON)
option(pFlow_Build_MPI "Build for MPI parallelization. This will enable multi-gpu run, CPU run on clusters (distributed memory machine). Use this combination Cuda+MPI, OpenMP + MPI or Serial+MPI " OFF) option(pFlow_Build_MPI "Build for MPI parallelization. This will enable multi-gpu run, CPU run on clusters (distributed memory machine). Use this combination Cuda+MPI, OpenMP + MPI or Serial+MPI " OFF)
#for installing the required packages
include(cmake/preReq.cmake)
if(pFlow_Build_Serial) if(pFlow_Build_Serial)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "Serial execution" FORCE) set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "Serial execution" FORCE)
@ -35,8 +46,7 @@ elseif(pFlow_Build_OpenMP )
set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "OpenMP execution" FORCE) set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "OpenMP execution" FORCE)
set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "Cuda execution" FORCE) set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "Cuda execution" FORCE)
set(Kokkos_ENABLE_CUDA_LAMBDA OFF CACHE BOOL "Cuda execution" FORCE) set(Kokkos_ENABLE_CUDA_LAMBDA OFF CACHE BOOL "Cuda execution" FORCE)
set(Kokkos_DEFAULT_HOST_PARALLEL_EXECUTION_SPACE Serial CACHE STRING "" FORCE) set(Kokkos_DEFAULT_HOST_PARALLEL_EXECUTION_SPACE SERIAL CACHE STRING "" FORCE)
set(Kokkos_DEFAULT_DEVICE_PARALLEL_EXECUTION_SPACE OpenMP CACHE STRING "" FORCE)
set(Kokkos_ENABLE_CUDA_CONSTEXPR OFF CACHE BOOL "Enable constexpr on cuda code" FORCE) set(Kokkos_ENABLE_CUDA_CONSTEXPR OFF CACHE BOOL "Enable constexpr on cuda code" FORCE)
elseif(pFlow_Build_Cuda) elseif(pFlow_Build_Cuda)
set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "Serial execution" FORCE) set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "Serial execution" FORCE)
@ -55,7 +65,6 @@ include(cmake/makeExecutableGlobals.cmake)
configure_file(phasicFlowConfig.H.in phasicFlowConfig.H) configure_file(phasicFlowConfig.H.in phasicFlowConfig.H)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
#add a global include directory #add a global include directory
include_directories(src/setHelpers src/demComponent "${PROJECT_BINARY_DIR}") include_directories(src/setHelpers src/demComponent "${PROJECT_BINARY_DIR}")

View File

@ -183,4 +183,4 @@ public:
} // pFlow } // pFlow
#endif // __DEMSystem_hpp__ #endif // __DEMSystem_hpp__

View File

@ -78,14 +78,9 @@ pFlow::grainDEMSystem::grainDEMSystem(
REPORT(0)<< "\nCreating surface geometry for grainDEMSystem . . . "<<END_REPORT; REPORT(0)<< "\nCreating surface geometry for grainDEMSystem . . . "<<END_REPORT;
geometry_ = geometry::create(Control(), Property()); geometry_ = geometry::create(Control(), Property());
REPORT(0)<<"Reading shape dictionary ..."<<END_REPORT;
grains_ = makeUnique<grainShape>(
pFlow::shapeFile__,
&Control().caseSetup(),
Property() );
REPORT(0)<<"\nReading grain particles . . ."<<END_REPORT; REPORT(0)<<"\nReading grain particles . . ."<<END_REPORT;
particles_ = makeUnique<grainFluidParticles>(Control(), grains_()); particles_ = makeUnique<grainFluidParticles>(Control(), Property());
insertion_ = makeUnique<grainInsertion>( insertion_ = makeUnique<grainInsertion>(

View File

@ -46,8 +46,6 @@ protected:
uniquePtr<geometry> geometry_ = nullptr; uniquePtr<geometry> geometry_ = nullptr;
uniquePtr<grainShape> grains_ = nullptr;
uniquePtr<grainFluidParticles> particles_ = nullptr; uniquePtr<grainFluidParticles> particles_ = nullptr;
uniquePtr<grainInsertion> insertion_ = nullptr; uniquePtr<grainInsertion> insertion_ = nullptr;

View File

@ -35,8 +35,8 @@ void pFlow::grainFluidParticles::checkHostMemory()
pFlow::grainFluidParticles::grainFluidParticles( pFlow::grainFluidParticles::grainFluidParticles(
systemControl &control, systemControl &control,
const grainShape& grains) const property &prop)
: grainParticles(control, grains), : grainParticles(control, prop),
fluidForce_( fluidForce_(
objectFile( objectFile(
"fluidForce", "fluidForce",
@ -67,7 +67,7 @@ bool pFlow::grainFluidParticles::beforeIteration()
bool pFlow::grainFluidParticles::iterate() bool pFlow::grainFluidParticles::iterate()
{ {
const auto ti = this->TimeInfo();
accelerationTimer().start(); accelerationTimer().start();
pFlow::grainFluidParticlesKernels::acceleration( pFlow::grainFluidParticlesKernels::acceleration(
control().g(), control().g(),
@ -78,16 +78,16 @@ bool pFlow::grainFluidParticles::iterate()
contactTorque().deviceViewAll(), contactTorque().deviceViewAll(),
fluidTorque_.deviceViewAll(), fluidTorque_.deviceViewAll(),
pStruct().activePointsMaskDevice(), pStruct().activePointsMaskDevice(),
acceleration().deviceViewAll(), accelertion().deviceViewAll(),
rAcceleration().deviceViewAll() rAcceleration().deviceViewAll()
); );
accelerationTimer().end(); accelerationTimer().end();
intCorrectTimer().start(); intCorrectTimer().start();
dynPointStruct().correct(ti.dt()); dynPointStruct().correct(this->dt(), accelertion());
rVelIntegration().correct(ti.dt(), rVelocity(), rAcceleration()); rVelIntegration().correct(this->dt(), rVelocity(), rAcceleration());
intCorrectTimer().end(); intCorrectTimer().end();

View File

@ -59,7 +59,7 @@ protected:
public: public:
/// construct from systemControl and property /// construct from systemControl and property
grainFluidParticles(systemControl &control, const grainShape& grains); grainFluidParticles(systemControl &control, const property& prop);
~grainFluidParticles() override = default; ~grainFluidParticles() override = default;

View File

@ -74,19 +74,13 @@ pFlow::sphereDEMSystem::sphereDEMSystem(
property_ = makeUnique<property>( property_ = makeUnique<property>(
propertyFile__, propertyFile__,
Control().caseSetup().path()); Control().caseSetup().path());
REPORT(0)<< "\nCreating surface geometry for sphereDEMSystem . . . "<<END_REPORT; REPORT(0)<< "\nCreating surface geometry for sphereDEMSystem . . . "<<END_REPORT;
geometry_ = geometry::create(Control(), Property()); geometry_ = geometry::create(Control(), Property());
REPORT(0)<<"Reading shapes dictionary..."<<END_REPORT;
spheres_ = makeUnique<sphereShape>(
pFlow::shapeFile__,
&Control().caseSetup(),
Property());
REPORT(0)<<"\nReading sphere particles . . ."<<END_REPORT; REPORT(0)<<"\nReading sphere particles . . ."<<END_REPORT;
particles_ = makeUnique<sphereFluidParticles>(Control(), spheres_()); particles_ = makeUnique<sphereFluidParticles>(Control(), Property());
insertion_ = makeUnique<sphereInsertion>( insertion_ = makeUnique<sphereInsertion>(

View File

@ -46,8 +46,6 @@ protected:
uniquePtr<geometry> geometry_ = nullptr; uniquePtr<geometry> geometry_ = nullptr;
uniquePtr<sphereShape> spheres_ = nullptr;
uniquePtr<sphereFluidParticles> particles_ = nullptr; uniquePtr<sphereFluidParticles> particles_ = nullptr;
uniquePtr<sphereInsertion> insertion_ = nullptr; uniquePtr<sphereInsertion> insertion_ = nullptr;

View File

@ -32,8 +32,8 @@ void pFlow::sphereFluidParticles::checkHostMemory()
pFlow::sphereFluidParticles::sphereFluidParticles( pFlow::sphereFluidParticles::sphereFluidParticles(
systemControl &control, systemControl &control,
const sphereShape& shpShape) const property &prop)
: sphereParticles(control, shpShape), : sphereParticles(control, prop),
fluidForce_( fluidForce_(
objectFile( objectFile(
"fluidForce", "fluidForce",
@ -65,7 +65,7 @@ bool pFlow::sphereFluidParticles::beforeIteration()
bool pFlow::sphereFluidParticles::iterate() bool pFlow::sphereFluidParticles::iterate()
{ {
const auto ti = this->TimeInfo();
accelerationTimer().start(); accelerationTimer().start();
pFlow::sphereFluidParticlesKernels::acceleration( pFlow::sphereFluidParticlesKernels::acceleration(
control().g(), control().g(),
@ -76,16 +76,16 @@ bool pFlow::sphereFluidParticles::iterate()
contactTorque().deviceViewAll(), contactTorque().deviceViewAll(),
fluidTorque_.deviceViewAll(), fluidTorque_.deviceViewAll(),
pStruct().activePointsMaskDevice(), pStruct().activePointsMaskDevice(),
acceleration().deviceViewAll(), accelertion().deviceViewAll(),
rAcceleration().deviceViewAll() rAcceleration().deviceViewAll()
); );
accelerationTimer().end(); accelerationTimer().end();
intCorrectTimer().start(); intCorrectTimer().start();
dynPointStruct().correct(ti.dt()); dynPointStruct().correct(this->dt(), accelertion());
rVelIntegration().correct(ti.dt(), rVelocity(), rAcceleration()); rVelIntegration().correct(this->dt(), rVelocity(), rAcceleration());
intCorrectTimer().end(); intCorrectTimer().end();

View File

@ -66,7 +66,7 @@ protected:
public: public:
/// construct from systemControl and property /// construct from systemControl and property
sphereFluidParticles(systemControl &control, const sphereShape& shpShape); sphereFluidParticles(systemControl &control, const property& prop);
/// before iteration step /// before iteration step
bool beforeIteration() override; bool beforeIteration() override;

View File

@ -1,76 +1,48 @@
<div align="center"> <div align ="center">
<img src="doc/phasicFlow_logo_github.png" style="width: 400px;" alt="PhasicFlow Logo"> <img src="doc/phasicFlow_logo_github.png" style="width: 400px;">
</div> </div>
## **PhasicFlow: High-Performance Discrete Element Method Simulations**
PhasicFlow is a robust, open-source C++ framework designed for the efficient simulation of granular materials using the Discrete Element Method (DEM). Leveraging parallel computing paradigms, PhasicFlow is capable of executing simulations on shared-memory multi-core architectures, including CPUs and NVIDIA GPUs (CUDA-enabled). The core parallelization strategy focuses on loop-level parallelism, enabling significant performance gains on modern hardware. Users can seamlessly transition between serial execution on standard PCs, parallel execution on multi-core CPUs (OpenMP), and accelerated simulations on GPUs. Currently, PhasicFlow supports simulations involving up to 80 million particles on a single desktop workstation. Detailed performance benchmarks are available on the [PhasicFlow Wiki](https://github.com/PhasicFlow/phasicFlow/wiki/Performance-of-phasicFlow). **PhasicFlow** is a parallel C++ code for performing DEM simulations. It can run on shared-memory multi-core computational units such as multi-core CPUs or GPUs (for now it works on CUDA-enabled GPUs). The parallelization method mainly relies on loop-level parallelization on a shared-memory computational unit. You can build and run PhasicFlow in serial mode on regular PCs, in parallel mode for multi-core CPUs, or build it for a GPU device to off-load computations to a GPU. In its current statues you can simulate millions of particles (up to 80M particles tested) on a single desktop computer. You can see the [performance tests of PhasicFlow](https://github.com/PhasicFlow/phasicFlow/wiki/Performance-of-phasicFlow) in the wiki page.
**Scalable Parallelism: MPI Integration** **MPI** parallelization with dynamic load balancing is under development. With this level of parallelization, PhasicFlow can leverage the computational power of **multi-gpu** workstations or clusters with distributed memory CPUs.
In summary PhasicFlow can have 6 execution modes:
1. Serial on a single CPU core,
2. Parallel on a multi-core computer/node (using OpenMP),
3. Parallel on an nvidia-GPU (using Cuda),
4. Parallel on distributed memory workstation (Using MPI)
5. Parallel on distributed memory workstations with multi-core nodes (using MPI+OpenMP)
6. Parallel on workstations with multiple GPUs (using MPI+Cuda).
## How to build?
You can build PhasicFlow for CPU and GPU executions. The latest release of PhasicFlow is v-0.1. [Here is a complete step-by-step procedure for building phasicFlow-v-0.1.](https://github.com/PhasicFlow/phasicFlow/wiki/How-to-Build-PhasicFlow).
Ongoing development includes the integration of MPI-based parallelization with dynamic load balancing. This enhancement will extend PhasicFlow's capabilities to distributed memory environments, such as multi-GPU workstations and high-performance computing clusters. Upon completion, PhasicFlow will offer six distinct execution modes: ## Online code documentation
You can find a full documentation of the code, its features, and other related materials on [online documentation of the code](https://phasicflow.github.io/phasicFlow/)
1. **Serial Execution:** Single-core CPU. ## How to use PhasicFlow?
2. **Shared-Memory Parallelism:** Multi-core CPU (OpenMP). You can navigate into [tutorials folder](./tutorials) in the phasicFlow folder to see some simulation case setups. If you need more detailed discription, visit our [wiki page tutorials](https://github.com/PhasicFlow/phasicFlow/wiki/Tutorials).
3. **GPU Acceleration:** NVIDIA GPU (CUDA).
4. **Distributed-Memory Parallelism:** MPI.
5. **Hybrid Parallelism:** MPI + OpenMP.
6. **Multi-GPU Parallelism:** MPI + CUDA.
## **Build and Installation** ## [PhasicFlowPlus](https://github.com/PhasicFlow/PhasicFlowPlus)
PhasicFlowPlus is and extension to PhasicFlow for simulating particle-fluid systems using resolved and unresolved CFD-DEM. [See the repository of this package.](https://github.com/PhasicFlow/PhasicFlowPlus)
PhasicFlow can be compiled for both CPU and GPU execution.
* **Current Development (v-1.0):** Comprehensive build instructions are available [here](https://github.com/PhasicFlow/phasicFlow/wiki/How-to-build-PhasicFlow%E2%80%90v%E2%80%901.0). ## Supporting packages
* **Latest Release (v-0.1):** Detailed build instructions are available [here](https://github.com/PhasicFlow/phasicFlow/wiki/How-to-Build-PhasicFlow). * [Kokkos](https://github.com/kokkos/kokkos) from National Technology & Engineering Solutions of Sandia, LLC (NTESS)
* [CLI11 1.8](https://github.com/CLIUtils/CLI11) from University of Cincinnati.
## **Comprehensive Documentation**
In-depth documentation, including code structure, features, and usage guidelines, is accessible via the [online documentation portal](https://phasicflow.github.io/phasicFlow/).
### **Tutorials and Examples**
Practical examples and simulation setups are provided in the [tutorials directory](./tutorials). For detailed explanations and step-by-step guides, please refer to the [tutorial section on the PhasicFlow Wiki](https://github.com/PhasicFlow/phasicFlow/wiki/Tutorials).
## Contributing to PhasicFlow
We welcome contributions to PhasicFlow! Whether you're a developer or a new user, there are many ways to get involved. Here's how you can help:
1. Bug Reports
2. Suggestions for better user experience
3. Feature request and algorithm improvements
4. Tutorials, Simulation Case Setups and documentation
5. Direct Code Contributions
For more details on how you can contribute to PhasicFlow see [this page](https://github.com/PhasicFlow/phasicFlow/wiki/How-to-contribute-to-PhasicFlow).
## **PhasicFlowPlus: Coupled CFD-DEM Simulations**
PhasicFlowPlus is an extension of PhasicFlow that facilitates the simulation of particle-fluid systems using resolved and unresolved CFD-DEM methods. The repository for PhasicFlowPlus can be found [here](https://github.com/PhasicFlow/PhasicFlowPlus).
## How to cite PhasicFlow?
## How to cite PhasicFlow
If you are using PhasicFlow in your research or industrial work, cite the following [article](https://www.sciencedirect.com/science/article/pii/S0010465523001662): If you are using PhasicFlow in your research or industrial work, cite the following [article](https://www.sciencedirect.com/science/article/pii/S0010465523001662):
``` ```
@article @article{NOROUZI2023108821,
{ title = {PhasicFlow: A parallel, multi-architecture open-source code for DEM simulations},
NOROUZI2023108821, journal = {Computer Physics Communications},
title = {PhasicFlow: A parallel, multi-architecture open-source code for DEM simulations}, volume = {291},
journal = {Computer Physics Communications}, pages = {108821},
volume = {291}, year = {2023},
pages = {108821}, issn = {0010-4655},
year = {2023}, doi = {https://doi.org/10.1016/j.cpc.2023.108821},
issn = {0010-4655}, url = {https://www.sciencedirect.com/science/article/pii/S0010465523001662},
doi = {https://doi.org/10.1016/j.cpc.2023.108821}, author = {H.R. Norouzi},
url = {https://www.sciencedirect.com/science/article/pii/S0010465523001662}, keywords = {Discrete element method, Parallel computing, CUDA, GPU, OpenMP, Granular flow}
author = {H.R. Norouzi},
keywords = {Discrete element method, Parallel computing, CUDA, GPU, OpenMP, Granular flow}
} }
``` ```
## **Dependencies**
PhasicFlow relies on the following external libraries:
* **Kokkos:** A community-led performance portability ecosystem within the Linux Foundation's High-Performance Software Foundation (HPSF). ([https://github.com/kokkos/kokkos](https://github.com/kokkos/kokkos))
* **CLI11 1.8:** A command-line interface parser developed by the University of Cincinnati. ([https://github.com/CLIUtils/CLI11](https://github.com/CLIUtils/CLI11))

View File

@ -3,58 +3,57 @@
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName interaction; objectName interaction;
objectType dictionary; objectType dicrionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
materials (glassMat wallMat); // a list of materials names materials (glassMat wallMat); // a list of materials names
densities (2500.0 2500); // density of materials [kg/m3] densities (2500.0 2500); // density of materials [kg/m3]
contactListType sortedContactList; contactListType sortedContactList;
contactSearch
{
method NBS;
updateInterval 10;
sizeRatio 1.1;
cellExtent 0.55;
adjustableBox Yes;
}
model model
{ {
contactForceModel nonLinearLimited; contactForceModel nonLinearLimited;
rollingFrictionModel normal;
rollingFrictionModel normal; Yeff (1.0e6 1.0e6 // Young modulus [Pa]
1.0e6);
/*
Property (glassMat-glassMat glassMat-wallMat
wallMat-wallMat);
*/
Yeff (1.0e6 1.0e6
1.0e6); // Young modulus [Pa]
Geff (0.8e6 0.8e6 Geff (0.8e6 0.8e6 // Shear modulus [Pa]
0.8e6); // Shear modulus [Pa] 0.8e6);
nu (0.25 0.25 nu (0.25 0.25 // Poisson's ratio [-]
0.25); // Poisson's ratio [-] 0.25);
en (0.97 0.85 en (0.97 0.85 // coefficient of normal restitution
1.00); // coefficient of normal restitution 1.00);
mu (0.65 0.65 et (1.0 1.0 // coefficient of tangential restitution
0.65); // dynamic friction 1.0);
mur (0.1 0.1 mu (0.65 0.65 // dynamic friction
0.1); // rolling friction 0.65);
mur (0.1 0.1 // rolling friction
0.1);
} }
contactSearch
{
method NBS;
wallMapping cellMapping;
NBSInfo
{
updateFrequency 10; // each 20 timesteps, update neighbor list
sizeRatio 1.05; // bounding box size to particle diameter (max)
}
cellMappingInfo
{
updateFrequency 10; // each 20 timesteps, update neighbor list
cellExtent 0.6; // bounding box for particle-wall search (> 0.5)
}
}

View File

@ -3,10 +3,12 @@
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName particleInsertion; objectName particleInsertion;
objectType dicrionary; objectType dicrionary;
fileFormat ASCII;
active No; // is insertion active? active no; // is insertion active?
collisionCheck No; // not implemented for yes

View File

@ -0,0 +1,11 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName sphereDict;
objectType sphereShape;
names (glassBead); // names of shapes
diameters (0.003); // diameter of shapes
materials (glassMat); // material names for shapes

View File

@ -1,46 +0,0 @@
/* -------------------------------*- C++ -*--------------------------------- *\
| phasicFlow File |
| copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */
objectName domainDict;
objectType dictionary;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
globalBox // Simulation domain: every particles that goes outside this domain will be deleted
{
min (-0.2 -0.2 -0.0);
max ( 0.2 0.2 1.6);
}
boundaries
{
left
{
type exit; // other options: periodic, reflective
}
right
{
type exit; // other options: periodic, reflective
}
bottom
{
type exit; // other options: periodic, reflective
}
top
{
type exit; // other options: periodic, reflective
}
rear
{
type exit; // other options: periodic, reflective
}
front
{
type exit; // other options: periodic, reflective
}
}

View File

@ -3,84 +3,61 @@
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName geometryDict; objectName geometryDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII;
motionModel rotatingAxis; // motion model: rotating object around an axis motionModel rotatingAxisMotion;
rotatingAxisInfo // information for rotatingAxisMotion motion model
{
rotAxis
{
p1 (0.0 0.0 0.0); // first point for the axis of rotation
p2 (0.0 0.0 1.0); // second point for the axis of rotation
omega 1.256; // rotation speed (rad/s) => 12 rpm
}
}
surfaces surfaces
{ {
cylinder
{ cylinder
type cylinderWall; // type of the wall {
type cylinderWall;
p1 (0.0 0.0 0.0); // begin point of cylinder axis p1 (0.0 0.0 0.0);
p2 (0.0 0.0 1.6);
p2 (0.0 0.0 1.6); // end point of cylinder axis radius1 0.2;
radius2 0.2;
radius1 0.2; // radius at p1 resolution 24;
material wallMat;
radius2 0.2; // radius at p2 motion rotAxis;
}
resolution 24; // number of divisions
material wallMat; // material name of this wall
motion rotAxis; // motion component name
}
/*
This is a plane wall at the rear end of cylinder wall1
*/ {
type planeWall;
wall1 p1 (-0.2 -0.2 0.0);
{ p2 ( 0.2 -0.2 0.0);
type planeWall; // type of the wall p3 ( 0.2 0.2 0.0);
p4 (-0.2 0.2 0.0);
p1 (-0.2 -0.2 0.0); // first point of the wall material wallMat;
motion rotAxis;
p2 ( 0.2 -0.2 0.0); // second point }
p3 ( 0.2 0.2 0.0); // third point
p4 (-0.2 0.2 0.0); // fourth point
material wallMat; // material name of the wall
motion rotAxis; // motion component name
}
/* /*
This is a plane wall at the front end of cylinder This is a plane wall at the front end of cylinder
*/ */
wall2
wall2 {
{ type planeWall;
type planeWall; // type of the wall p1 (-0.2 -0.2 1.6);
p2 ( 0.2 -0.2 1.6);
p1 (-0.2 -0.2 1.6); // first point of the wall p3 ( 0.2 0.2 1.6);
p4 (-0.2 0.2 1.6);
p2 ( 0.2 -0.2 1.6); // second point material wallMat;
motion rotAxis;
p3 ( 0.2 0.2 1.6); // third point }
p4 (-0.2 0.2 1.6); // fourth point
material wallMat; // material name of the wall
motion rotAxis; // motion component name
}
} }
// information for rotatingAxisMotion motion model
rotatingAxisMotionInfo
{
rotAxis
{
p1 (0.0 0.0 0.0);
p2 (0.0 0.0 1.0);
omega 1.256; // rotation speed (rad/s) => 12 rpm
}
}

View File

@ -3,45 +3,42 @@
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName particlesDict; objectName particlesDict;
objectType dictionary; objectType dictionary;
fileFormat ASCII;
setFields setFields
{ {
defaultValue
{ defaultValue
velocity realx3 (0 0 0); // linear velocity (m/s) {
acceleration realx3 (0 0 0); // linear acceleration (m/s2) velocity realx3 (0 0 0); // linear velocity (m/s)
rotVelocity realx3 (0 0 0); // rotational velocity (rad/s) acceleration realx3 (0 0 0); // linear acceleration (m/s2)
shapeName word glassBead; // name of the particle shape rotVelocity realx3 (0 0 0); // rotational velocity (rad/s)
} shapeName word glassBead; // name of the particle shape
}
selectors selectors
{} {}
} }
positionParticles positionParticles
{ {
method ordered; method positionOrdered;
orderedInfo maxNumberOfParticles 4000001;
{ mortonSorting Yes;
diameter 0.003; // minimum space between centers of particles
numPoints 4000000; // number of particles in the simulation
axisOrder (z x y); // axis order for filling the space with particles
}
regionType cylinder; // other options: box and sphere cylinder // box for positioning particles
{
cylinderInfo // cylinder for positioning particles p1 ( 0.0 0.0 0.01); // lower corner point of the box
{ p2 ( 0.0 0.0 1.59); // upper corner point of the box
p1 (0.0 0.0 0.01); // lower corner point of the box radius 0.195;
}
p2 (0.0 0.0 1.59); // upper corner point of the box
positionOrderedInfo
radius 0.195; // radius of cylinder {
} diameter 0.003; // minimum space between centers of particles
numPoints 4000000; // number of particles in the simulation
axisOrder (z x y); // axis order for filling the space with particles
}
} }

View File

@ -2,33 +2,31 @@
| phasicFlow File | | phasicFlow File |
| copyright: www.cemf.ir | | copyright: www.cemf.ir |
\* ------------------------------------------------------------------------- */ \* ------------------------------------------------------------------------- */
objectName settingsDict; objectName settingsDict;
objectType dictionary; objectType dictionary;;
fileFormat ASCII;
/*---------------------------------------------------------------------------*/
run rotatingDrum_4MParticles;
dt 0.00001; // time step for integration (s) run rotatingDrum_1;
startTime 0; // start time for simulation dt 0.00001; // time step for integration (s)
endTime 10; // end time for simulation startTime 0; // start time for simulation
saveInterval 0.2; // time interval for saving the simulation endTime 10; // end time for simulation
timePrecision 5; // maximum number of digits for time folder saveInterval 0.2; // time interval for saving the simulation
g (0 -9.8 0); // gravity vector (m/s2) timePrecision 5; // maximum number of digits for time folder
includeObjects (diameter); // save necessary (i.e., required) data on disk g (0 -9.8 0); // gravity vector (m/s2)
// exclude unnecessary data from saving on disk domain
excludeObjects (rVelocity.dy1 pStructPosition.dy1 pStructVelocity.dy1); {
min (-0.2 -0.2 -0.0);
max ( 0.2 0.2 1.6);
}
integrationMethod AdamsBashforth2; // integration method integrationMethod AdamsBashforth3; // integration method
writeFormat binary; // data writting format (ascii or binary) timersReport Yes;
timersReport Yes; timersReportInterval 0.01;
timersReportInterval 0.05;

View File

@ -1,55 +1,17 @@
PF_cFlags="--description --help --version" PF_cFlags="--description --help --version"
AllTimeFolders=
__getAllTime(){
files=( $(ls) )
deleteFiles=(settings caseSetup cleanThisCase VTK runThisCase stl postprocess postProcess)
declare -A delk
for del in "${deleteFiles[@]}" ; do delk[$del]=1 ; done
# Tag items to remove, based on
for k in "${!files[@]}" ; do
[ "${delk[${files[$k]}]-}" ] && unset 'files[k]'
done
# Compaction
COMPREPLY=("${files[@]}")
AllTimeFolders="${files[@]}"
}
__getFields(){
__getAllTime
local -A unique_files=()
for dir in $AllTimeFolders; do
# Check if the directory exists
if [ ! -d "$dir" ]; then
continue # Skip to the next directory
fi
files_in_dir=$(find "$dir" -maxdepth 1 -type f -printf '%f\n' | sort -u)
# Add filenames to the associative array (duplicates will be overwritten)
while IFS= read -r filename; do
unique_files["$filename"]=1 # Just the key is important, value can be anything
done <<< "$files_in_dir"
done
COMPREPLY=("${!unique_files[@]}")
AllTimeFolders=
}
_pFlowToVTK(){ _pFlowToVTK(){
if [ "$3" == "--time" ] ; then if [ "$3" == "--time" ]; then
__getAllTime COMPREPLY=( $(ls) )
elif [ "$3" == "--fields" ]; then
__getFields
else else
COMPREPLY=( $(compgen -W "$PF_cFlags --binary --no-geometry --no-particles --out-folder --time --separate-surfaces --fields" -- "$2") ) COMPREPLY=( $(compgen -W "$PF_cFlags --binary --no-geometry --no-particles --out-folder --time --separate-surfaces --fields" -- "$2") )
fi fi
} }
complete -F _pFlowToVTK pFlowToVTK complete -F _pFlowToVTK pFlowToVTK
_postprocessPhasicFlow(){ _postprocessPhasicFlow(){
if [ "$3" == "--time" ]; then if [ "$3" == "--time" ]; then
__getAllTime COMPREPLY=( $(ls) )
else else
COMPREPLY=( $(compgen -W "$PF_cFlags --out-folder --time --zeroFolder" -- "$2") ) COMPREPLY=( $(compgen -W "$PF_cFlags --out-folder --time --zeroFolder" -- "$2") )
fi fi

View File

@ -1,54 +0,0 @@
if(pFlow_STD_Parallel_Alg)
# Check if libtbb-dev is installed
execute_process(
COMMAND dpkg -s libtbb-dev
RESULT_VARIABLE TBB_IS_INSTALLED
OUTPUT_QUIET
ERROR_QUIET)
if(NOT TBB_IS_INSTALLED EQUAL 0)
message(STATUS "libtbb-dev not found. Installing libtbb-dev...")
execute_process(
COMMAND sudo apt-get update
COMMAND sudo apt-get install -y libtbb-dev
RESULT_VARIABLE TBB_INSTALL_RESULT)
if(NOT TBB_INSTALL_RESULT EQUAL 0)
message(FATAL_ERROR "Failed to install libtbb-dev")
endif()
else()
message(STATUS "libtbb-dev is already installed.")
endif()
endif()
# Kokkos folder creation
set(Kokkos_Source_DIR $ENV{HOME}/Kokkos/kokkos)
if(NOT EXISTS "${Kokkos_Source_DIR}/CMakeLists.txt")
# Check CMake version and set policy CMP0169 if CMake version is 3.30 or higher
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.30")
cmake_policy(SET CMP0169 OLD)
endif()
include(FetchContent)
FetchContent_Declare(
kokkos
GIT_REPOSITORY https://github.com/kokkos/kokkos.git
GIT_TAG 4.4.01
)
FetchContent_GetProperties(kokkos)
if(NOT kokkos_POPULATED)
message(STATUS "Kokkos source directory not found. Downloading Kokkos version 4.4.1 ...")
FetchContent_Populate(kokkos)
set(Kokkos_Source_DIR ${kokkos_SOURCE_DIR})
endif()
endif()
message(STATUS "Kokkos source directory is ${Kokkos_Source_DIR}")
add_subdirectory(${Kokkos_Source_DIR} ./kokkos)
#Kokkos_cmake_settings()

View File

@ -0,0 +1,146 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth2/AB2Kernels.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AB2Kernels_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">AB2Kernels.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AB2Kernels.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AB2Kernels_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth2_2AB2Kernels_8hpp" alt=""/></div>
</div>
</div>
<p><a href="AB2Kernels_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacepFlow_1_1AB2Kernels"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow_1_1AB2Kernels.html">pFlow::AB2Kernels</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a1d3752d19417e5f211093381ef34cbc9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow_1_1AB2Kernels.html#a1d3752d19417e5f211093381ef34cbc9">intAllActive</a> (const word &amp;name, real dt, rangeU32 activeRng, const deviceViewType1D&lt; realx3 &gt; &amp;y, const deviceViewType1D&lt; realx3 &gt; &amp;dy, const deviceViewType1D&lt; realx3 &gt; &amp;dy1)</td></tr>
<tr class="separator:a1d3752d19417e5f211093381ef34cbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e684a0c67df0388c9ab00a8abea55c4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow_1_1AB2Kernels.html#a0e684a0c67df0388c9ab00a8abea55c4">intScattered</a> (const word &amp;name, real dt, const pFlagTypeDevice &amp;activePoints, const deviceViewType1D&lt; realx3 &gt; &amp;y, const deviceViewType1D&lt; realx3 &gt; &amp;dy, const deviceViewType1D&lt; realx3 &gt; &amp;dy1)</td></tr>
<tr class="separator:a0e684a0c67df0388c9ab00a8abea55c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_eb84e0c9bccf6469316a77378e4a6fe1.html">AdamsBashforth2</a></li><li class="navelem"><a class="el" href="AB2Kernels_8hpp.html">AB2Kernels.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var AB2Kernels_8hpp =
[
[ "intAllActive", "AB2Kernels_8hpp.html#a1d3752d19417e5f211093381ef34cbc9", null ],
[ "intScattered", "AB2Kernels_8hpp.html#a0e684a0c67df0388c9ab00a8abea55c4", null ]
];

View File

@ -0,0 +1,11 @@
digraph "src/Integration/AdamsBashforth2/AB2Kernels.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth2\l/AB2Kernels.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="KokkosTypes.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$KokkosTypes_8hpp.html",tooltip=" "];
Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="types.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$types_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,198 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth2/AB2Kernels.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AB2Kernels_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AB2Kernels.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AB2Kernels_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160; </div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160; </div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#ifndef __AB2Kernels_hpp__</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#define __AB2Kernels_hpp__</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="KokkosTypes_8hpp.html">KokkosTypes.hpp</a>&quot;</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="types_8hpp.html">types.hpp</a>&quot;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; </div>
<div class="line"><a name="l00009"></a><span class="lineno"><a class="line" href="namespacepFlow_1_1AB2Kernels.html"> 9</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow_1_1AB2Kernels.html">pFlow::AB2Kernels</a></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;{</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="keyword">inline</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="namespacepFlow_1_1AB2Kernels.html#a1d3752d19417e5f211093381ef34cbc9"> 12</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespacepFlow_1_1AB2Kernels.html#a1d3752d19417e5f211093381ef34cbc9">intAllActive</a>(</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; name,</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; <a class="code" href="structpFlow_1_1Range.html">rangeU32</a> activeRng,</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#aa5276597d4016d6696f1f265a13d2164">deviceViewType1D&lt;realx3&gt;</a>&amp; y, </div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#aa5276597d4016d6696f1f265a13d2164">deviceViewType1D&lt;realx3&gt;</a>&amp; dy,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#aa5276597d4016d6696f1f265a13d2164">deviceViewType1D&lt;realx3&gt;</a>&amp; dy1</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;)</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;{</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; name,</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <a class="code" href="namespacepFlow.html#a6ea32be3339f3023ab349c9c3775c916">deviceRPolicyStatic</a> (activeRng.<a class="code" href="structpFlow_1_1Range.html#a8ade4cd349991c4c7ed9131410ddd8f0">start</a>(), activeRng.<a class="code" href="structpFlow_1_1Range.html#a38ebf09d6bfa7f04d4a95ff7f0d3aef4">end</a>()),</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> i){</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; y[i] += dt*(<span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.5) * dy[i] - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(0.5) * dy1[i]);</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; dy1[i] = dy[i];</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; });</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;}</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">inline</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespacepFlow_1_1AB2Kernels.html#a0e684a0c67df0388c9ab00a8abea55c4">intScattered</a></div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="namespacepFlow_1_1AB2Kernels.html#a0e684a0c67df0388c9ab00a8abea55c4"> 35</a></span>&#160;(</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; name,</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointFlag.html">pFlagTypeDevice</a>&amp; activePoints,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#aa5276597d4016d6696f1f265a13d2164">deviceViewType1D&lt;realx3&gt;</a>&amp; y, </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#aa5276597d4016d6696f1f265a13d2164">deviceViewType1D&lt;realx3&gt;</a>&amp; dy,</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#aa5276597d4016d6696f1f265a13d2164">deviceViewType1D&lt;realx3&gt;</a>&amp; dy1</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;)</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; name,</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespacepFlow.html#a6ea32be3339f3023ab349c9c3775c916">deviceRPolicyStatic</a> (activePoints.<a class="code" href="classpFlow_1_1pointFlag.html#a766f5bcd312f3e0ca10011181b05f318">activeRange</a>().start(), activePoints.<a class="code" href="classpFlow_1_1pointFlag.html#a766f5bcd312f3e0ca10011181b05f318">activeRange</a>().end()),</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> i){</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">if</span>( activePoints(i))</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; y[i] += dt*(<span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.5) * dy[i] - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(0.5) * dy1[i]);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; dy1[i] = dy[i];</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; });</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;}</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="atypes_8hpp_html"><div class="ttname"><a href="types_8hpp.html">types.hpp</a></div></div>
<div class="ttc" id="astructpFlow_1_1Range_html_a38ebf09d6bfa7f04d4a95ff7f0d3aef4"><div class="ttname"><a href="structpFlow_1_1Range.html#a38ebf09d6bfa7f04d4a95ff7f0d3aef4">pFlow::Range::end</a></div><div class="ttdeci">INLINE_FUNCTION_HD T &amp; end()</div><div class="ttdoc">End.</div><div class="ttdef"><b>Definition:</b> <a href="Range_8hpp_source.html#l00101">Range.hpp:101</a></div></div>
<div class="ttc" id="anamespacepFlow_html_abd01e8e67e3d94cab04ecaaf4f85ac1b"><div class="ttname"><a href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">pFlow::uint32</a></div><div class="ttdeci">unsigned int uint32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00056">builtinTypes.hpp:56</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="astructpFlow_1_1Range_html_a8ade4cd349991c4c7ed9131410ddd8f0"><div class="ttname"><a href="structpFlow_1_1Range.html#a8ade4cd349991c4c7ed9131410ddd8f0">pFlow::Range::start</a></div><div class="ttdeci">INLINE_FUNCTION_HD T &amp; start()</div><div class="ttdoc">Start.</div><div class="ttdef"><b>Definition:</b> <a href="Range_8hpp_source.html#l00094">Range.hpp:94</a></div></div>
<div class="ttc" id="aKokkosTypes_8hpp_html"><div class="ttname"><a href="KokkosTypes_8hpp.html">KokkosTypes.hpp</a></div></div>
<div class="ttc" id="anamespacepFlow_1_1AB2Kernels_html"><div class="ttname"><a href="namespacepFlow_1_1AB2Kernels.html">pFlow::AB2Kernels</a></div><div class="ttdef"><b>Definition:</b> <a href="AB2Kernels_8hpp_source.html#l00009">AB2Kernels.hpp:9</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa5276597d4016d6696f1f265a13d2164"><div class="ttname"><a href="namespacepFlow.html#aa5276597d4016d6696f1f265a13d2164">pFlow::deviceViewType1D</a></div><div class="ttdeci">Kokkos::View&lt; T * &gt; deviceViewType1D</div><div class="ttdoc">1D array (vector) with default device (memory space and execution space)</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00121">KokkosTypes.hpp:121</a></div></div>
<div class="ttc" id="anamespacepFlow_1_1AB2Kernels_html_a1d3752d19417e5f211093381ef34cbc9"><div class="ttname"><a href="namespacepFlow_1_1AB2Kernels.html#a1d3752d19417e5f211093381ef34cbc9">pFlow::AB2Kernels::intAllActive</a></div><div class="ttdeci">bool intAllActive(const word &amp;name, real dt, rangeU32 activeRng, const deviceViewType1D&lt; realx3 &gt; &amp;y, const deviceViewType1D&lt; realx3 &gt; &amp;dy, const deviceViewType1D&lt; realx3 &gt; &amp;dy1)</div><div class="ttdef"><b>Definition:</b> <a href="AB2Kernels_8hpp_source.html#l00012">AB2Kernels.hpp:12</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointFlag_html_a766f5bcd312f3e0ca10011181b05f318"><div class="ttname"><a href="classpFlow_1_1pointFlag.html#a766f5bcd312f3e0ca10011181b05f318">pFlow::pointFlag::activeRange</a></div><div class="ttdeci">const INLINE_FUNCTION_HD auto &amp; activeRange() const</div><div class="ttdef"><b>Definition:</b> <a href="pointFlag_8hpp_source.html#l00179">pointFlag.hpp:179</a></div></div>
<div class="ttc" id="astructpFlow_1_1Range_html"><div class="ttname"><a href="structpFlow_1_1Range.html">pFlow::Range&lt; uint32 &gt;</a></div></div>
<div class="ttc" id="anamespacepFlow_1_1AB2Kernels_html_a0e684a0c67df0388c9ab00a8abea55c4"><div class="ttname"><a href="namespacepFlow_1_1AB2Kernels.html#a0e684a0c67df0388c9ab00a8abea55c4">pFlow::AB2Kernels::intScattered</a></div><div class="ttdeci">bool intScattered(const word &amp;name, real dt, const pFlagTypeDevice &amp;activePoints, const deviceViewType1D&lt; realx3 &gt; &amp;y, const deviceViewType1D&lt; realx3 &gt; &amp;dy, const deviceViewType1D&lt; realx3 &gt; &amp;dy1)</div><div class="ttdef"><b>Definition:</b> <a href="AB2Kernels_8hpp_source.html#l00035">AB2Kernels.hpp:35</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6ea32be3339f3023ab349c9c3775c916"><div class="ttname"><a href="namespacepFlow.html#a6ea32be3339f3023ab349c9c3775c916">pFlow::deviceRPolicyStatic</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; Kokkos::DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; pFlow::uint32 &gt; &gt; deviceRPolicyStatic</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00066">KokkosTypes.hpp:66</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointFlag_html"><div class="ttname"><a href="classpFlow_1_1pointFlag.html">pFlow::pointFlag&lt; DefaultExecutionSpace &gt;</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_eb84e0c9bccf6469316a77378e4a6fe1.html">AdamsBashforth2</a></li><li class="navelem"><a class="el" href="AB2Kernels_8hpp.html">AB2Kernels.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,151 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth2/AdamsBashforth2.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth2_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">AdamsBashforth2.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth2.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth2_8cpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth2_2AdamsBashforth2_8cpp" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth2_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a42ff9b272180d6b5b128aafacd50a411"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a42ff9b272180d6b5b128aafacd50a411">rpIntegration</a> = Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; uint32 &gt; &gt;</td></tr>
<tr class="memdesc:a42ff9b272180d6b5b128aafacd50a411"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structpFlow_1_1Range.html" title="Range for elements in an vector [start,end)">Range</a> policy for integration kernel (alias) <a href="namespacepFlow.html#a42ff9b272180d6b5b128aafacd50a411">More...</a><br /></td></tr>
<tr class="separator:a42ff9b272180d6b5b128aafacd50a411"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad07d1cb3572f2d482cdf0e9f2868071b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#ad07d1cb3572f2d482cdf0e9f2868071b">intAllActive</a> (real dt, realx3Field_D &amp;y, realx3PointField_D &amp;dy, realx3PointField_D &amp;dy1)</td></tr>
<tr class="separator:ad07d1cb3572f2d482cdf0e9f2868071b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19c4c4ae40e7e332c50f85bcf8fb93d9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a19c4c4ae40e7e332c50f85bcf8fb93d9">intScattered</a> (real dt, realx3Field_D &amp;y, realx3PointField_D &amp;dy, realx3PointField_D &amp;dy1)</td></tr>
<tr class="separator:a19c4c4ae40e7e332c50f85bcf8fb93d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_eb84e0c9bccf6469316a77378e4a6fe1.html">AdamsBashforth2</a></li><li class="navelem"><a class="el" href="AdamsBashforth2_8cpp.html">AdamsBashforth2.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var AdamsBashforth2_8cpp =
[
[ "rpIntegration", "AdamsBashforth2_8cpp.html#a42ff9b272180d6b5b128aafacd50a411", null ],
[ "intAllActive", "AdamsBashforth2_8cpp.html#ad07d1cb3572f2d482cdf0e9f2868071b", null ],
[ "intScattered", "AdamsBashforth2_8cpp.html#a19c4c4ae40e7e332c50f85bcf8fb93d9", null ]
];

View File

@ -0,0 +1,15 @@
digraph "src/Integration/AdamsBashforth2/AdamsBashforth2.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth2\l/AdamsBashforth2.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="AdamsBashforth2.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$AdamsBashforth2_8hpp.html",tooltip=" "];
Node1 -> Node89 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node89 [label="pointStructure.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointStructure_8hpp.html",tooltip=" "];
Node1 -> Node156 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node156 [label="Time.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$Time_8hpp.html",tooltip=" "];
Node1 -> Node166 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node166 [label="vocabs.hpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$vocabs_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,349 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth2/AdamsBashforth2.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth2_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth2.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth2_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AdamsBashforth2_8hpp.html">AdamsBashforth2.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointStructure_8hpp.html">pointStructure.hpp</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Time_8hpp.html">Time.hpp</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="vocabs_8hpp.html">vocabs.hpp</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;{</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">using</span> <a class="code" href="namespacepFlow.html#a42ff9b272180d6b5b128aafacd50a411">rpIntegration</a> = Kokkos::RangePolicy&lt;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>,</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; Kokkos::Schedule&lt;Kokkos::Static&gt;,</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; Kokkos::IndexType&lt;uint32&gt;</div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a42ff9b272180d6b5b128aafacd50a411"> 34</a></span>&#160; &gt;;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="namespacepFlow.html#ad07d1cb3572f2d482cdf0e9f2868071b"> 36</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespacepFlow.html#ad07d1cb3572f2d482cdf0e9f2868071b">intAllActive</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classpFlow_1_1Field.html">realx3Field_D</a>&amp; y, </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; dy,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; dy1)</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1internalField.html#a65a1eeccd800386379e7db5dd61ea9aa">deviceView</a>();</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a1fabd2a58aae204d5639f041216f54da">deviceView</a>();</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">auto</span> d_dy1= dy1.<a class="code" href="classpFlow_1_1internalField.html#a65a1eeccd800386379e7db5dd61ea9aa">deviceView</a>();</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">auto</span> activeRng = dy1.<a class="code" href="classpFlow_1_1pointField.html#afef304b4d4497e45857f6edef9b049e6">activeRange</a>();</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;AdamsBashforth2::correct&quot;</span>,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacepFlow.html#a42ff9b272180d6b5b128aafacd50a411">rpIntegration</a> (activeRng.start(), activeRng.end()),</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> i){</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; d_y[i] += dt*(<span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.5) * d_dy[i] - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(0.5) * d_dy1[i]);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; d_dy1[i] = d_dy[i];</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; });</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespacepFlow.html#a19c4c4ae40e7e332c50f85bcf8fb93d9">intScattered</a></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a19c4c4ae40e7e332c50f85bcf8fb93d9"> 61</a></span>&#160;(</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classpFlow_1_1Field.html">realx3Field_D</a>&amp; y,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; dy,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; dy1</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;)</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1internalField.html#a65a1eeccd800386379e7db5dd61ea9aa">deviceView</a>();</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a1fabd2a58aae204d5639f041216f54da">deviceView</a>();</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1.<a class="code" href="classpFlow_1_1internalField.html#a65a1eeccd800386379e7db5dd61ea9aa">deviceView</a>();</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">auto</span> activeRng = dy1.<a class="code" href="classpFlow_1_1pointField.html#afef304b4d4497e45857f6edef9b049e6">activeRange</a>();</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; activeP = dy1.<a class="code" href="classpFlow_1_1internalField.html#a67d82cfcfc613c9ffbccd1f9a9aa0ce6">activePointsMaskDevice</a>();</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot;AdamsBashforth2::correct&quot;</span>,</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="namespacepFlow.html#a42ff9b272180d6b5b128aafacd50a411">rpIntegration</a> (activeRng.start(), activeRng.end()),</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> i){</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span>( activeP(i))</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; d_y[i] += dt*(<span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.5) * d_dy[i] - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(0.5) * d_dy1[i]);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; d_dy1[i] = d_dy[i];</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; });</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<a class="code" href="classpFlow_1_1AdamsBashforth2.html#a1e7473dc6951c5718277fadf484d4c7d">pFlow::AdamsBashforth2::AdamsBashforth2</a></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a1e7473dc6951c5718277fadf484d4c7d"> 94</a></span>&#160;(</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; method,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Field.html">realx3Field_D</a>&amp; initialValField</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;)</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;:</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method, initialValField),</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="namespacepFlow.html#af547b8e736ebac3297672aff612d426a">realx3PointField_D</a></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; (</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; (</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy1&quot;</span>),</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>.time().integrationFolder(),</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; objectFile::WRITE_ALWAYS</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; ),</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; ),</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; boundaryList_(<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method, *<span class="keyword">this</span>)</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{}</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#abd77556ae6ba5220c472e06b2ef2da31"> 118</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#abd77556ae6ba5220c472e06b2ef2da31">pFlow::AdamsBashforth2::updateBoundariesSlaveToMasterIfRequested</a>()</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;{</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classpFlow_1_1pointField.html#a4df96ffd1fa1b1fad9fc5dbd8bf03431">realx3PointField_D::updateBoundariesSlaveToMasterIfRequested</a>();</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;}</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a5595208ecd7c3d8fdc960c8d2fd9bb69"> 123</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a5595208ecd7c3d8fdc960c8d2fd9bb69">pFlow::AdamsBashforth2::predict</a>(</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt),</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a> &amp;<a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y),</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a> &amp;<a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy))</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;{</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;}</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a5595208ecd7c3d8fdc960c8d2fd9bb69">pFlow::AdamsBashforth2::predict</a></div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a4f0aee8b7d5ace2fd263b10f1f29ffde"> 132</a></span>&#160;(</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classpFlow_1_1Field.html">realx3Field_D</a> &amp;y, </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a> &amp;dy</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;)</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;{</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a31ed4ecb323de5dc3f004927060fdc45">pFlow::AdamsBashforth2::correct</a></div>
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a31ed4ecb323de5dc3f004927060fdc45"> 142</a></span>&#160;(</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; y,</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; dy</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;)</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">auto</span>&amp; dy1l = dy1();</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordtype">bool</span> success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span>(dy1l.isAllActive())</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; success = <a class="code" href="namespacepFlow.html#ad07d1cb3572f2d482cdf0e9f2868071b">intAllActive</a>(dt, y.<a class="code" href="classpFlow_1_1internalField.html#a0b7cdb82732a46cf6c7aa342cf9c6c33">field</a>(), dy, dy1l);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; success = <a class="code" href="namespacepFlow.html#a19c4c4ae40e7e332c50f85bcf8fb93d9">intScattered</a>(dt, y.<a class="code" href="classpFlow_1_1internalField.html#a0b7cdb82732a46cf6c7aa342cf9c6c33">field</a>(), dy, dy1l);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; success = success &amp;&amp; boundaryList_.correct(dt, y, dy);</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> success;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a2dfa8f3fb9e8b803ed22d20d63e2f094"> 165</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a2dfa8f3fb9e8b803ed22d20d63e2f094">pFlow::AdamsBashforth2::correctPStruct</a>(</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a> &amp;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a> &amp;vel)</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;{</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span>&amp; dy1l = dy1();</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordtype">bool</span> success = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span>(dy1l.isAllActive())</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; success = <a class="code" href="namespacepFlow.html#ad07d1cb3572f2d482cdf0e9f2868071b">intAllActive</a>(dt, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>.pointPosition(), vel, dy1l);</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; success = <a class="code" href="namespacepFlow.html#a19c4c4ae40e7e332c50f85bcf8fb93d9">intScattered</a>(dt, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>.pointPosition(), vel, dy1l);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; success = success &amp;&amp; boundaryList_.correctPStruct(dt, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, vel);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> success;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#ad114a4a04b76ea8e10d4388756912a7e"> 187</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#ad114a4a04b76ea8e10d4388756912a7e">pFlow::AdamsBashforth2::setInitialVals</a>(</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y)</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;}</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a5595208ecd7c3d8fdc960c8d2fd9bb69"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a5595208ecd7c3d8fdc960c8d2fd9bb69">pFlow::AdamsBashforth2::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3PointField_D &amp;UNUSED(y), realx3PointField_D &amp;UNUSED(dy)) final</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00123">AdamsBashforth2.cpp:123</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="anamespacepFlow_html_abd01e8e67e3d94cab04ecaaf4f85ac1b"><div class="ttname"><a href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">pFlow::uint32</a></div><div class="ttdeci">unsigned int uint32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00056">builtinTypes.hpp:56</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a1e7473dc6951c5718277fadf484d4c7d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a1e7473dc6951c5718277fadf484d4c7d">pFlow::AdamsBashforth2::AdamsBashforth2</a></div><div class="ttdeci">AdamsBashforth2(const word &amp;baseName, pointStructure &amp;pStruct, const word &amp;method, const realx3Field_D &amp;initialValField)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00094">AdamsBashforth2.cpp:94</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_a67d82cfcfc613c9ffbccd1f9a9aa0ce6"><div class="ttname"><a href="classpFlow_1_1internalField.html#a67d82cfcfc613c9ffbccd1f9a9aa0ce6">pFlow::internalField::activePointsMaskDevice</a></div><div class="ttdeci">const pFlagTypeDevice &amp; activePointsMaskDevice() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00120">internalField.hpp:120</a></div></div>
<div class="ttc" id="anamespacepFlow_html_af547b8e736ebac3297672aff612d426a"><div class="ttname"><a href="namespacepFlow.html#af547b8e736ebac3297672aff612d426a">pFlow::realx3PointField_D</a></div><div class="ttdeci">pointField_D&lt; realx3 &gt; realx3PointField_D</div><div class="ttdef"><b>Definition:</b> <a href="pointFields_8hpp_source.html#l00052">pointFields.hpp:52</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a477d522d35403bd985ae105bd759e9d1"><div class="ttname"><a href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">pFlow::zero3</a></div><div class="ttdeci">const realx3 zero3(0.0)</div><div class="ttdef"><b>Definition:</b> <a href="types_8hpp_source.html#l00137">types.hpp:137</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="anamespacepFlow_html_ad07d1cb3572f2d482cdf0e9f2868071b"><div class="ttname"><a href="namespacepFlow.html#ad07d1cb3572f2d482cdf0e9f2868071b">pFlow::intAllActive</a></div><div class="ttdeci">bool intAllActive(real dt, realx3Field_D &amp;y, realx3PointField_D &amp;dy, realx3PointField_D &amp;dy1)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00036">AdamsBashforth2.cpp:36</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html"><div class="ttname"><a href="classpFlow_1_1Field.html">pFlow::Field&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a31ed4ecb323de5dc3f004927060fdc45"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a31ed4ecb323de5dc3f004927060fdc45">pFlow::AdamsBashforth2::correct</a></div><div class="ttdeci">bool correct(real dt, realx3PointField_D &amp;y, realx3PointField_D &amp;dy) final</div><div class="ttdoc">Correction/main integration step.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00142">AdamsBashforth2.cpp:142</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a19c4c4ae40e7e332c50f85bcf8fb93d9"><div class="ttname"><a href="namespacepFlow.html#a19c4c4ae40e7e332c50f85bcf8fb93d9">pFlow::intScattered</a></div><div class="ttdeci">bool intScattered(real dt, realx3Field_D &amp;y, realx3PointField_D &amp;dy, realx3PointField_D &amp;dy1)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00061">AdamsBashforth2.cpp:61</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a1fabd2a58aae204d5639f041216f54da"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a1fabd2a58aae204d5639f041216f54da">pFlow::VectorSingle::deviceView</a></div><div class="ttdeci">INLINE_FUNCTION_H auto deviceView() const</div><div class="ttdoc">Device view range [0, size)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00263">VectorSingle.cpp:263</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a16a2137651b2c6b8ea4a8daf1d89ff61"><div class="ttname"><a href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">pFlow::baseName</a></div><div class="ttdeci">word baseName(const word &amp;w, char sep='.')</div><div class="ttdoc">Find the base in a group separated by &quot;.&quot; and return it.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00185">bTypesFunctions.cpp:185</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a2dfa8f3fb9e8b803ed22d20d63e2f094"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a2dfa8f3fb9e8b803ed22d20d63e2f094">pFlow::AdamsBashforth2::correctPStruct</a></div><div class="ttdeci">bool correctPStruct(real dt, pointStructure &amp;pStruct, realx3PointField_D &amp;vel) final</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00165">AdamsBashforth2.cpp:165</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_a0b7cdb82732a46cf6c7aa342cf9c6c33"><div class="ttname"><a href="classpFlow_1_1internalField.html#a0b7cdb82732a46cf6c7aa342cf9c6c33">pFlow::internalField::field</a></div><div class="ttdeci">const FieldType &amp; field() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00109">internalField.hpp:109</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a42ff9b272180d6b5b128aafacd50a411"><div class="ttname"><a href="namespacepFlow.html#a42ff9b272180d6b5b128aafacd50a411">pFlow::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; uint32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel (alias)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00034">AdamsBashforth2.cpp:34</a></div></div>
<div class="ttc" id="aTime_8hpp_html"><div class="ttname"><a href="Time_8hpp.html">Time.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html_afef304b4d4497e45857f6edef9b049e6"><div class="ttname"><a href="classpFlow_1_1pointField.html#afef304b4d4497e45857f6edef9b049e6">pFlow::pointField::activeRange</a></div><div class="ttdeci">range activeRange() const</div><div class="ttdef"><b>Definition:</b> <a href="pointField__old_8hpp_source.html#l00138">pointField_old.hpp:138</a></div></div>
<div class="ttc" id="aclasspFlow_1_1objectFile_html"><div class="ttname"><a href="classpFlow_1_1objectFile.html">pFlow::objectFile</a></div><div class="ttdef"><b>Definition:</b> <a href="objectFile_8hpp_source.html#l00030">objectFile.hpp:30</a></div></div>
<div class="ttc" id="aAdamsBashforth2_8hpp_html"><div class="ttname"><a href="AdamsBashforth2_8hpp.html">AdamsBashforth2.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_ad114a4a04b76ea8e10d4388756912a7e"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#ad114a4a04b76ea8e10d4388756912a7e">pFlow::AdamsBashforth2::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) final</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00187">AdamsBashforth2.cpp:187</a></div></div>
<div class="ttc" id="asetPointStructure_8hpp_html_a385e32971df44b131e4498181a949a91"><div class="ttname"><a href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a></div><div class="ttdeci">auto &amp; pStruct</div><div class="ttdef"><b>Definition:</b> <a href="setPointStructure_8hpp_source.html#l00024">setPointStructure.hpp:24</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html_a4df96ffd1fa1b1fad9fc5dbd8bf03431"><div class="ttname"><a href="classpFlow_1_1pointField.html#a4df96ffd1fa1b1fad9fc5dbd8bf03431">pFlow::pointField::updateBoundariesSlaveToMasterIfRequested</a></div><div class="ttdeci">void updateBoundariesSlaveToMasterIfRequested()</div><div class="ttdoc">update boundaries if it is requested previousely (slave to master).</div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00115">pointField.hpp:115</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a12b4d93aa9730629403d73e84386bff5"><div class="ttname"><a href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">pFlow::groupNames</a></div><div class="ttdeci">word groupNames(const word &amp;bw, const word &amp;tw, char sep='.')</div><div class="ttdoc">Group words and output bw.tw.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00179">bTypesFunctions.cpp:179</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_abd77556ae6ba5220c472e06b2ef2da31"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#abd77556ae6ba5220c472e06b2ef2da31">pFlow::AdamsBashforth2::updateBoundariesSlaveToMasterIfRequested</a></div><div class="ttdeci">void updateBoundariesSlaveToMasterIfRequested() override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00118">AdamsBashforth2.cpp:118</a></div></div>
<div class="ttc" id="avocabs_8hpp_html"><div class="ttname"><a href="vocabs_8hpp.html">vocabs.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="apointStructure_8hpp_html"><div class="ttname"><a href="pointStructure_8hpp.html">pointStructure.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_a65a1eeccd800386379e7db5dd61ea9aa"><div class="ttname"><a href="classpFlow_1_1internalField.html#a65a1eeccd800386379e7db5dd61ea9aa">pFlow::internalField::deviceView</a></div><div class="ttdeci">auto deviceView() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00097">internalField.hpp:97</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_eb84e0c9bccf6469316a77378e4a6fe1.html">AdamsBashforth2</a></li><li class="navelem"><a class="el" href="AdamsBashforth2_8cpp.html">AdamsBashforth2.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth2/AdamsBashforth2.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth2_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">AdamsBashforth2.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth2.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth2_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth2_2AdamsBashforth2_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth2_8hpp__dep__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth2_2AdamsBashforth2_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth2_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1AdamsBashforth2.html">AdamsBashforth2</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Second order Adams-Bashforth integration method for solving ODE. <a href="classpFlow_1_1AdamsBashforth2.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_eb84e0c9bccf6469316a77378e4a6fe1.html">AdamsBashforth2</a></li><li class="navelem"><a class="el" href="AdamsBashforth2_8hpp.html">AdamsBashforth2.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsBashforth2/AdamsBashforth2.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth2\l/AdamsBashforth2.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Integration/AdamsBashforth2\l/AdamsBashforth2.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$AdamsBashforth2_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,14 @@
digraph "src/Integration/AdamsBashforth2/AdamsBashforth2.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth2\l/AdamsBashforth2.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="integration.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$integration_8hpp.html",tooltip=" "];
Node2 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="pointFields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointFields_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node163 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node163 [label="boundaryIntegrationList.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$boundaryIntegrationList_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,276 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth2/AdamsBashforth2.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth2_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth2.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth2_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#ifndef __AdamsBashforth2_hpp__</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#define __AdamsBashforth2_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="integration_8hpp.html">integration.hpp</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFields_8hpp.html">pointFields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="boundaryIntegrationList_8hpp.html">boundaryIntegrationList.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html"> 37</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsBashforth2.html">AdamsBashforth2</a></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;:</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#aac898ef26b84e559b552fb63b187e4a3"> 44</a></span>&#160; <a class="code" href="classpFlow_1_1boundaryIntegrationList.html">boundaryIntegrationList</a> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#aac898ef26b84e559b552fb63b187e4a3">boundaryList_</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#acfc416287e9f31450d930160b1ccaef3"> 46</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsBashforth2.html#acfc416287e9f31450d930160b1ccaef3">processorAB2BoundaryIntegration</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#aec90bedeff0a2a031a0d310526a33f3b"> 48</a></span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; <a class="code" href="classpFlow_1_1AdamsBashforth2.html#aec90bedeff0a2a031a0d310526a33f3b">dy1</a>()<span class="keyword">const</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keyword">const </span><a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp;<span class="keyword">&gt;</span>(*this);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a08830f3ac97ae61ab7971024f5bfc99f"> 53</a></span>&#160; <span class="keyword">auto</span>&amp; <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a08830f3ac97ae61ab7971024f5bfc99f">dy1</a>()</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp;<span class="keyword">&gt;</span>(*this);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a4db1a4db4a3c5af1dc7037acec0e40a9">ClassInfo</a>(<span class="stringliteral">&quot;AdamsBashforth2&quot;</span>);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// - Constructors</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a1e7473dc6951c5718277fadf484d4c7d">AdamsBashforth2</a>(</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">baseName</a>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a307a24e988c782099db9fc49291efe1e">method</a>,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Field.html">realx3Field_D</a>&amp; initialValField);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a0e0f8a5b0250e97e857de7bd6a5e9731">~AdamsBashforth2</a>()final = default;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a3f4d930dbe074e5170da8b9a74f3c8b8">add_vCtor</a>(</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth2.html">AdamsBashforth2</a>,</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// - Methods</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#abd77556ae6ba5220c472e06b2ef2da31">updateBoundariesSlaveToMasterIfRequested</a>()override;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a307a24e988c782099db9fc49291efe1e"> 87</a></span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a307a24e988c782099db9fc49291efe1e">method</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;AdamsBashforth2&quot;</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a5595208ecd7c3d8fdc960c8d2fd9bb69">predict</a>(</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt), </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y), </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy)) <span class="keyword">final</span>;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a5595208ecd7c3d8fdc960c8d2fd9bb69">predict</a>(</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classpFlow_1_1Field.html">realx3Field_D</a>&amp; y, </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; dy) <span class="keyword">final</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a31ed4ecb323de5dc3f004927060fdc45">correct</a>(</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; y, </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; dy) <span class="keyword">final</span>;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a2dfa8f3fb9e8b803ed22d20d63e2f094">correctPStruct</a>(</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>, </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; vel) <span class="keyword">final</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">/*bool hearChanges</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="comment"> (</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment"> real t,</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment"> real dt,</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="comment"> uint32 iter,</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="comment"> const message&amp; msg, </span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="comment"> const anyList&amp; varList</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="comment"> ) override;*/</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#ad114a4a04b76ea8e10d4388756912a7e">setInitialVals</a>(</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y) <span class="keyword">final</span>;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth2.html#a5fd0dfea4bc213a1a941358d72bedde0"> 126</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth2.html#a5fd0dfea4bc213a1a941358d72bedde0">needSetInitialVals</a>()const final</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;};</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;} <span class="comment">// pFlow</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor">#endif //__integration_hpp__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a0e0f8a5b0250e97e857de7bd6a5e9731"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a0e0f8a5b0250e97e857de7bd6a5e9731">pFlow::AdamsBashforth2::~AdamsBashforth2</a></div><div class="ttdeci">~AdamsBashforth2() final=default</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a307a24e988c782099db9fc49291efe1e"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a307a24e988c782099db9fc49291efe1e">pFlow::AdamsBashforth2::method</a></div><div class="ttdeci">word method() const override</div><div class="ttdoc">return integration method</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8hpp_source.html#l00087">AdamsBashforth2.hpp:87</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a5595208ecd7c3d8fdc960c8d2fd9bb69"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a5595208ecd7c3d8fdc960c8d2fd9bb69">pFlow::AdamsBashforth2::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3PointField_D &amp;UNUSED(y), realx3PointField_D &amp;UNUSED(dy)) final</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00123">AdamsBashforth2.cpp:123</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a5a622149e803f0fa292a95784c12a7b8"><div class="ttname"><a href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pFlow::integration::pStruct</a></div><div class="ttdeci">const auto &amp; pStruct() const</div><div class="ttdoc">Const ref to pointStructure.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00115">integration.hpp:115</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a1e7473dc6951c5718277fadf484d4c7d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a1e7473dc6951c5718277fadf484d4c7d">pFlow::AdamsBashforth2::AdamsBashforth2</a></div><div class="ttdeci">AdamsBashforth2(const word &amp;baseName, pointStructure &amp;pStruct, const word &amp;method, const realx3Field_D &amp;initialValField)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00094">AdamsBashforth2.cpp:94</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="apointFields_8hpp_html"><div class="ttname"><a href="pointFields_8hpp.html">pointFields.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a4db1a4db4a3c5af1dc7037acec0e40a9"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a4db1a4db4a3c5af1dc7037acec0e40a9">pFlow::AdamsBashforth2::ClassInfo</a></div><div class="ttdeci">ClassInfo(&quot;AdamsBashforth2&quot;)</div><div class="ttdoc">Class info.</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a08830f3ac97ae61ab7971024f5bfc99f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a08830f3ac97ae61ab7971024f5bfc99f">pFlow::AdamsBashforth2::dy1</a></div><div class="ttdeci">auto &amp; dy1()</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8hpp_source.html#l00053">AdamsBashforth2.hpp:53</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html"><div class="ttname"><a href="classpFlow_1_1Field.html">pFlow::Field&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a5fd0dfea4bc213a1a941358d72bedde0"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a5fd0dfea4bc213a1a941358d72bedde0">pFlow::AdamsBashforth2::needSetInitialVals</a></div><div class="ttdeci">bool needSetInitialVals() const final</div><div class="ttdoc">Check if the method requires any set initial vals.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8hpp_source.html#l00126">AdamsBashforth2.hpp:126</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_aac898ef26b84e559b552fb63b187e4a3"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#aac898ef26b84e559b552fb63b187e4a3">pFlow::AdamsBashforth2::boundaryList_</a></div><div class="ttdeci">boundaryIntegrationList boundaryList_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8hpp_source.html#l00044">AdamsBashforth2.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a31ed4ecb323de5dc3f004927060fdc45"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a31ed4ecb323de5dc3f004927060fdc45">pFlow::AdamsBashforth2::correct</a></div><div class="ttdeci">bool correct(real dt, realx3PointField_D &amp;y, realx3PointField_D &amp;dy) final</div><div class="ttdoc">Correction/main integration step.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00142">AdamsBashforth2.cpp:142</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a4e30df3927ef1cdd2490cd85018518f5"><div class="ttname"><a href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">pFlow::integration::baseName</a></div><div class="ttdeci">const word &amp; baseName() const</div><div class="ttdoc">Base name.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00122">integration.hpp:122</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a2dfa8f3fb9e8b803ed22d20d63e2f094"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a2dfa8f3fb9e8b803ed22d20d63e2f094">pFlow::AdamsBashforth2::correctPStruct</a></div><div class="ttdeci">bool correctPStruct(real dt, pointStructure &amp;pStruct, realx3PointField_D &amp;vel) final</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00165">AdamsBashforth2.cpp:165</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_aec90bedeff0a2a031a0d310526a33f3b"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#aec90bedeff0a2a031a0d310526a33f3b">pFlow::AdamsBashforth2::dy1</a></div><div class="ttdeci">const auto &amp; dy1() const</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8hpp_source.html#l00048">AdamsBashforth2.hpp:48</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_acfc416287e9f31450d930160b1ccaef3"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#acfc416287e9f31450d930160b1ccaef3">pFlow::AdamsBashforth2::processorAB2BoundaryIntegration</a></div><div class="ttdeci">friend class processorAB2BoundaryIntegration</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8hpp_source.html#l00046">AdamsBashforth2.hpp:46</a></div></div>
<div class="ttc" id="aclasspFlow_1_1boundaryIntegrationList_html"><div class="ttname"><a href="classpFlow_1_1boundaryIntegrationList.html">pFlow::boundaryIntegrationList</a></div><div class="ttdef"><b>Definition:</b> <a href="boundaryIntegrationList_8hpp_source.html#l00016">boundaryIntegrationList.hpp:16</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_ad114a4a04b76ea8e10d4388756912a7e"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#ad114a4a04b76ea8e10d4388756912a7e">pFlow::AdamsBashforth2::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) final</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00187">AdamsBashforth2.cpp:187</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html">pFlow::AdamsBashforth2</a></div><div class="ttdoc">Second order Adams-Bashforth integration method for solving ODE.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8hpp_source.html#l00037">AdamsBashforth2.hpp:37</a></div></div>
<div class="ttc" id="aintegration_8hpp_html"><div class="ttname"><a href="integration_8hpp.html">integration.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_abd77556ae6ba5220c472e06b2ef2da31"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#abd77556ae6ba5220c472e06b2ef2da31">pFlow::AdamsBashforth2::updateBoundariesSlaveToMasterIfRequested</a></div><div class="ttdeci">void updateBoundariesSlaveToMasterIfRequested() override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth2_8cpp_source.html#l00118">AdamsBashforth2.cpp:118</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aboundaryIntegrationList_8hpp_html"><div class="ttname"><a href="boundaryIntegrationList_8hpp.html">boundaryIntegrationList.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth2_html_a3f4d930dbe074e5170da8b9a74f3c8b8"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth2.html#a3f4d930dbe074e5170da8b9a74f3c8b8">pFlow::AdamsBashforth2::add_vCtor</a></div><div class="ttdeci">add_vCtor(integration, AdamsBashforth2, word)</div><div class="ttdoc">Add this to the virtual constructor table.</div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_eb84e0c9bccf6469316a77378e4a6fe1.html">AdamsBashforth2</a></li><li class="navelem"><a class="el" href="AdamsBashforth2_8hpp.html">AdamsBashforth2.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth3/AdamsBashforth3.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth3_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth3.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth3.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth3_8cpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth3_2AdamsBashforth3_8cpp" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth3_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_9fe92fbd2d3b874c8837b9b8f1c20305.html">AdamsBashforth3</a></li><li class="navelem"><a class="el" href="AdamsBashforth3_8cpp.html">AdamsBashforth3.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsBashforth3/AdamsBashforth3.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth3\l/AdamsBashforth3.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="AdamsBashforth3.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$AdamsBashforth3_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,254 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth3/AdamsBashforth3.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth3_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth3.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth3_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AdamsBashforth3_8hpp.html">AdamsBashforth3.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">//const real AB3_coef[] = { 23.0 / 12.0, 16.0 / 12.0, 5.0 / 12.0 };</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<a class="code" href="classpFlow_1_1AdamsBashforth3.html#a1f266356c0127865641500aea4aca002">pFlow::AdamsBashforth3::AdamsBashforth3</a></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#a1f266356c0127865641500aea4aca002"> 26</a></span>&#160;(</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; owner,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; method</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>, owner, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method),</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; history_(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">pointField&lt;VectorSingle,AB3History&gt;</a>&gt;(</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;AB3History&quot;</span>),</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="structpFlow_1_1AB3History.html">AB3History</a>({<a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>,<a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>})))</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth3::predict</a></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#afb1938bc6cfc199cbd70f224040d4afc"> 49</a></span>&#160;(</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt),</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y),</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;)</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth3::correct</a></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#ac755e4bf02c3732d1eb89de9e903ebdb"> 60</a></span>&#160;(</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;)</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> intAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> intRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#a8da2088458d635dfa1fbe1823a3bfd6d"> 79</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth3::setInitialVals</a>(</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y)</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#a152b752a6b7b37e70fa5e7c99a484783"> 86</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth3::intAll</a>(</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; range activeRng)</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">auto</span> d_history = history_.deviceViewAll();</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="stringliteral">&quot;AdamsBashforth3::correct&quot;</span>,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">auto</span> ldy = d_dy[i];</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; d_y[i] += dt*( <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(23.0 / 12.0) * ldy </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(16.0 / 12.0) * d_history[i].dy1_ </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(5.0 / 12.0) * d_history[i].dy2_);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; d_history[i] = {ldy ,d_history[i].dy1_};</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; });</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth3::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00079">AdamsBashforth3.cpp:79</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsBashforth3::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00087">AdamsBashforth3.hpp:87</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB3History_html"><div class="ttname"><a href="structpFlow_1_1AB3History.html">pFlow::AB3History</a></div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00031">AdamsBashforth3.hpp:31</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_afb1938bc6cfc199cbd70f224040d4afc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth3::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3Vector_D &amp;UNUSED(y), realx3Vector_D &amp;UNUSED(dy)) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00049">AdamsBashforth3.cpp:49</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a477d522d35403bd985ae105bd759e9d1"><div class="ttname"><a href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">pFlow::zero3</a></div><div class="ttdeci">const realx3 zero3(0.0)</div><div class="ttdef"><b>Definition:</b> <a href="types_8hpp_source.html#l00137">types.hpp:137</a></div></div>
<div class="ttc" id="aAdamsBashforth3_8hpp_html"><div class="ttname"><a href="AdamsBashforth3_8hpp.html">AdamsBashforth3.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth3::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00060">AdamsBashforth3.cpp:60</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a1f266356c0127865641500aea4aca002"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a1f266356c0127865641500aea4aca002">pFlow::AdamsBashforth3::AdamsBashforth3</a></div><div class="ttdeci">AdamsBashforth3(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00026">AdamsBashforth3.cpp:26</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a16a2137651b2c6b8ea4a8daf1d89ff61"><div class="ttname"><a href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">pFlow::baseName</a></div><div class="ttdeci">word baseName(const word &amp;w, char sep='.')</div><div class="ttdoc">Find the base in a group separated by &quot;.&quot; and return it.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00185">bTypesFunctions.cpp:185</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1objectFile_html"><div class="ttname"><a href="classpFlow_1_1objectFile.html">pFlow::objectFile</a></div><div class="ttdef"><b>Definition:</b> <a href="objectFile_8hpp_source.html#l00030">objectFile.hpp:30</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth3::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00086">AdamsBashforth3.cpp:86</a></div></div>
<div class="ttc" id="asetPointStructure_8hpp_html_a385e32971df44b131e4498181a949a91"><div class="ttname"><a href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a></div><div class="ttdeci">auto &amp; pStruct</div><div class="ttdef"><b>Definition:</b> <a href="setPointStructure_8hpp_source.html#l00024">setPointStructure.hpp:24</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a12b4d93aa9730629403d73e84386bff5"><div class="ttname"><a href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">pFlow::groupNames</a></div><div class="ttdeci">word groupNames(const word &amp;bw, const word &amp;tw, char sep='.')</div><div class="ttdoc">Group words and output bw.tw.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00179">bTypesFunctions.cpp:179</a></div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_9fe92fbd2d3b874c8837b9b8f1c20305.html">AdamsBashforth3</a></li><li class="navelem"><a class="el" href="AdamsBashforth3_8cpp.html">AdamsBashforth3.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,160 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth3/AdamsBashforth3.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth3_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">AdamsBashforth3.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth3.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth3_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth3_2AdamsBashforth3_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth3_8hpp__dep__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth3_2AdamsBashforth3_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth3_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpFlow_1_1AB3History.html">AB3History</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1AdamsBashforth3.html">AdamsBashforth3</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Third order Adams-Bashforth integration method for solving ODE. <a href="classpFlow_1_1AdamsBashforth3.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a85ed561d066dae339196cd058783674f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a> iIstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">operator&gt;&gt;</a> (iIstream &amp;str, AB3History &amp;ab3)</td></tr>
<tr class="separator:a85ed561d066dae339196cd058783674f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a148d74ad0977268be8ea8b26a147f619"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a> iOstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">operator&lt;&lt;</a> (iOstream &amp;str, const AB3History &amp;ab3)</td></tr>
<tr class="separator:a148d74ad0977268be8ea8b26a147f619"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_9fe92fbd2d3b874c8837b9b8f1c20305.html">AdamsBashforth3</a></li><li class="navelem"><a class="el" href="AdamsBashforth3_8hpp.html">AdamsBashforth3.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var AdamsBashforth3_8hpp =
[
[ "AB3History", "structpFlow_1_1AB3History.html", "structpFlow_1_1AB3History" ],
[ "AdamsBashforth3", "classpFlow_1_1AdamsBashforth3.html", "classpFlow_1_1AdamsBashforth3" ],
[ "operator>>", "AdamsBashforth3_8hpp.html#a85ed561d066dae339196cd058783674f", null ],
[ "operator<<", "AdamsBashforth3_8hpp.html#a148d74ad0977268be8ea8b26a147f619", null ]
];

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsBashforth3/AdamsBashforth3.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth3\l/AdamsBashforth3.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Integration/AdamsBashforth3\l/AdamsBashforth3.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$AdamsBashforth3_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,12 @@
digraph "src/Integration/AdamsBashforth3/AdamsBashforth3.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth3\l/AdamsBashforth3.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="integration.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$integration_8hpp.html",tooltip=" "];
Node2 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="pointFields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointFields_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,349 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth3/AdamsBashforth3.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth3_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth3.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth3_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __AdamsBashforth3_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __AdamsBashforth3_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="integration_8hpp.html">integration.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFields_8hpp.html">pointFields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB3History.html"> 31</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structpFlow_1_1AB3History.html">AB3History</a></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="structpFlow_1_1AB3History.html#ad542852c8da95d45b6a6014d9f42a663">TypeInfoNV</a>(<span class="stringliteral">&quot;AB3History&quot;</span>);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB3History.html#a419568ee851e74f5356a30fc5ce2eddf"> 35</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB3History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a>={0,0,0};</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB3History.html#a63d020867c10f8f3fde329eb526a066b"> 36</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB3History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a>={0,0,0};</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;};</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a85ed561d066dae339196cd058783674f"> 41</a></span>&#160;<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; <a class="code" href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">operator&gt;&gt;</a>(<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; str, <a class="code" href="structpFlow_1_1AB3History.html">AB3History</a>&amp; ab3)</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; str.<a class="code" href="classpFlow_1_1iIstream.html#aecfc9cc0a499c7d44de6a7562bcfea3f">readBegin</a>(<span class="stringliteral">&quot;AB3History&quot;</span>);</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; str &gt;&gt; ab3.<a class="code" href="structpFlow_1_1AB3History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; str &gt;&gt; ab3.<a class="code" href="structpFlow_1_1AB3History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; str.<a class="code" href="classpFlow_1_1iIstream.html#a8d82c951160ac1444ee2a2d9ae1ecb11">readEnd</a>(<span class="stringliteral">&quot;AB3History&quot;</span>);</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; str.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>);</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> str;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619"> 57</a></span>&#160;<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; <a class="code" href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">operator&lt;&lt;</a>(<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; str, <span class="keyword">const</span> <a class="code" href="structpFlow_1_1AB3History.html">AB3History</a>&amp; ab3)</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; str &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb">token::BEGIN_LIST</a> &lt;&lt; ab3.<a class="code" href="structpFlow_1_1AB3History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">token::SPACE</a> &lt;&lt; ab3.<a class="code" href="structpFlow_1_1AB3History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24">token::END_LIST</a>; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; str.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> str;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html"> 73</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsBashforth3.html">AdamsBashforth3</a></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;:</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1integration.html">integration</a></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#ac46bad4a80ef6f7507d3b795f42b7326"> 80</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">pointField&lt;VectorSingle,AB3History&gt;</a>&amp; <a class="code" href="classpFlow_1_1AdamsBashforth3.html#ac46bad4a80ef6f7507d3b795f42b7326">history_</a>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> = Kokkos::RangePolicy&lt;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; Kokkos::Schedule&lt;Kokkos::Static&gt;,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; Kokkos::IndexType&lt;int32&gt;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#ace46ff4fbe3c001c816dbc4f9f67606f"> 87</a></span>&#160; &gt;;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="comment">// type info</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth3.html#af73af994d6bfc50ff9bda4606cac960b">TypeInfo</a>(<span class="stringliteral">&quot;AdamsBashforth3&quot;</span>);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// - Constructors</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a1f266356c0127865641500aea4aca002">AdamsBashforth3</a>(</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">baseName</a>,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">owner</a>,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>,</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">method</a>);</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#a29f8a3197295f0ffa73d24bbacc6228c"> 103</a></span>&#160; <a class="code" href="classpFlow_1_1uniquePtr.html">uniquePtr&lt;integration&gt;</a> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a29f8a3197295f0ffa73d24bbacc6228c">clone</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> makeUnique&lt;AdamsBashforth3&gt;(*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#aaef6f6937fdab620942909e86c18cb3a">~AdamsBashforth3</a>()=<span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a9626dd5e2e9be37e395ace9fc484d879">add_vCtor</a>(</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth3.html">AdamsBashforth3</a>,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="comment">// - Methods</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#afb1938bc6cfc199cbd70f224040d4afc">predict</a>(</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt),</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a> &amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y),</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy)) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#ac755e4bf02c3732d1eb89de9e903ebdb">correct</a>(<a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a> &amp; y,</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a8da2088458d635dfa1fbe1823a3bfd6d">setInitialVals</a>(</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#aceb0c803bb6e5c46a1695c4e5b6e641f"> 133</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#aceb0c803bb6e5c46a1695c4e5b6e641f">needSetInitialVals</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a152b752a6b7b37e70fa5e7c99a484783">intAll</a>(</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; range activeRng);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a191dc9197b587f09bb5ee7989b0ba43e">intRange</a>(</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; activeFunctor activeP );</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;};</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth3.html#a191dc9197b587f09bb5ee7989b0ba43e"> 157</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth3.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsBashforth3::intRange</a>(</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; activeFunctor activeP )</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;{</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">auto</span> d_history = history_.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="stringliteral">&quot;AdamsBashforth3::correct&quot;</span>,</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span>( activeP(i))</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keyword">auto</span> ldy = d_dy[i];</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; d_y[i] += dt*( <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(23.0 / 12.0) * ldy </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(16.0 / 12.0) * d_history[i].dy1_ </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(5.0 / 12.0) * d_history[i].dy2_);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; d_history[i] = {ldy ,d_history[i].dy1_};</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; });</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;}</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;} <span class="comment">// pFlow</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#endif //__integration_hpp__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1iIstream_html_aecfc9cc0a499c7d44de6a7562bcfea3f"><div class="ttname"><a href="classpFlow_1_1iIstream.html#aecfc9cc0a499c7d44de6a7562bcfea3f">pFlow::iIstream::readBegin</a></div><div class="ttdeci">bool readBegin(const char *funcName)</div><div class="ttdoc">Begin read of data chunk, starts with '('.</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00238">iIstream.cpp:238</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth3::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00079">AdamsBashforth3.cpp:79</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_ac46bad4a80ef6f7507d3b795f42b7326"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#ac46bad4a80ef6f7507d3b795f42b7326">pFlow::AdamsBashforth3::history_</a></div><div class="ttdeci">pointField&lt; VectorSingle, AB3History &gt; &amp; history_</div><div class="ttdoc">Integration history.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00080">AdamsBashforth3.hpp:80</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_afc491fbd69e70abdcb02a8cd3ce2939e"><div class="ttname"><a href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div><div class="ttdeci">#define INLINE_FUNCTION</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00066">pFlowMacros.hpp:66</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsBashforth3::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00087">AdamsBashforth3.hpp:87</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB3History_html"><div class="ttname"><a href="structpFlow_1_1AB3History.html">pFlow::AB3History</a></div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00031">AdamsBashforth3.hpp:31</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_afb1938bc6cfc199cbd70f224040d4afc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth3::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3Vector_D &amp;UNUSED(y), realx3Vector_D &amp;UNUSED(dy)) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00049">AdamsBashforth3.cpp:49</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_aceb0c803bb6e5c46a1695c4e5b6e641f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#aceb0c803bb6e5c46a1695c4e5b6e641f">pFlow::AdamsBashforth3::needSetInitialVals</a></div><div class="ttdeci">bool needSetInitialVals() const override</div><div class="ttdoc">Check if the method requires any set initial vals.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00133">AdamsBashforth3.hpp:133</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae49b1b421c0a7de757a2fdc46f163498"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">pFlow::internalField&lt; T, void &gt;::deviceViewAll</a></div><div class="ttdeci">const auto &amp; deviceViewAll() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00092">internalField.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a5a622149e803f0fa292a95784c12a7b8"><div class="ttname"><a href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pFlow::integration::pStruct</a></div><div class="ttdeci">const auto &amp; pStruct() const</div><div class="ttdoc">Const ref to pointStructure.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00115">integration.hpp:115</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html_a8d82c951160ac1444ee2a2d9ae1ecb11"><div class="ttname"><a href="classpFlow_1_1iIstream.html#a8d82c951160ac1444ee2a2d9ae1ecb11">pFlow::iIstream::readEnd</a></div><div class="ttdeci">bool readEnd(const char *funcName)</div><div class="ttdoc">End read of data chunk, ends with ')' return true or FatalIOError.</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00258">iIstream.cpp:258</a></div></div>
<div class="ttc" id="apointFields_8hpp_html"><div class="ttname"><a href="pointFields_8hpp.html">pointFields.hpp</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a922d2784284e8f6ee4009c3d92ba48b6"><div class="ttname"><a href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a></div><div class="ttdeci">#define FUNCTION_NAME</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00029">pFlowMacros.hpp:29</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_aaef6f6937fdab620942909e86c18cb3a"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#aaef6f6937fdab620942909e86c18cb3a">pFlow::AdamsBashforth3::~AdamsBashforth3</a></div><div class="ttdeci">virtual ~AdamsBashforth3()=default</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth3::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00060">AdamsBashforth3.cpp:60</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a1f266356c0127865641500aea4aca002"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a1f266356c0127865641500aea4aca002">pFlow::AdamsBashforth3::AdamsBashforth3</a></div><div class="ttdeci">AdamsBashforth3(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00026">AdamsBashforth3.cpp:26</a></div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">pFlow::token::SPACE</a></div><div class="ttdeci">@ SPACE</div><div class="ttdoc">Nul character.</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00086">token.hpp:86</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a4e30df3927ef1cdd2490cd85018518f5"><div class="ttname"><a href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">pFlow::integration::baseName</a></div><div class="ttdeci">const word &amp; baseName() const</div><div class="ttdoc">Base name.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00122">integration.hpp:122</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_a367eb3425fc4e8270e2aa961df8ac8a5"><div class="ttname"><a href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">pFlow::IOstream::check</a></div><div class="ttdeci">virtual bool check(const char *operation) const</div><div class="ttdoc">Check IOstream status for given operation.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8cpp_source.html#l00042">IOstream.cpp:42</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a191dc9197b587f09bb5ee7989b0ba43e"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsBashforth3::intRange</a></div><div class="ttdeci">bool intRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Integrate on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00157">AdamsBashforth3.hpp:157</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html"><div class="ttname"><a href="classpFlow_1_1iIstream.html">pFlow::iIstream</a></div><div class="ttdoc">Interface class for any input stream</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8hpp_source.html#l00037">iIstream.hpp:37</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a9626dd5e2e9be37e395ace9fc484d879"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a9626dd5e2e9be37e395ace9fc484d879">pFlow::AdamsBashforth3::add_vCtor</a></div><div class="ttdeci">add_vCtor(integration, AdamsBashforth3, word)</div><div class="ttdoc">Add this to the virtual constructor table.</div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a85ed561d066dae339196cd058783674f"><div class="ttname"><a href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">pFlow::operator&gt;&gt;</a></div><div class="ttdeci">INLINE_FUNCTION iIstream &amp; operator&gt;&gt;(iIstream &amp;str, AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00041">AdamsBashforth3.hpp:41</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB3History_html_a63d020867c10f8f3fde329eb526a066b"><div class="ttname"><a href="structpFlow_1_1AB3History.html#a63d020867c10f8f3fde329eb526a066b">pFlow::AB3History::dy2_</a></div><div class="ttdeci">realx3 dy2_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00036">AdamsBashforth3.hpp:36</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB3History_html_ad542852c8da95d45b6a6014d9f42a663"><div class="ttname"><a href="structpFlow_1_1AB3History.html#ad542852c8da95d45b6a6014d9f42a663">pFlow::AB3History::TypeInfoNV</a></div><div class="ttdeci">TypeInfoNV(&quot;AB3History&quot;)</div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24">pFlow::token::END_LIST</a></div><div class="ttdeci">@ END_LIST</div><div class="ttdoc">Begin list [isseparator].</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00092">token.hpp:92</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB3History_html_a419568ee851e74f5356a30fc5ce2eddf"><div class="ttname"><a href="structpFlow_1_1AB3History.html#a419568ee851e74f5356a30fc5ce2eddf">pFlow::AB3History::dy1_</a></div><div class="ttdeci">realx3 dy1_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00035">AdamsBashforth3.hpp:35</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a148d74ad0977268be8ea8b26a147f619"><div class="ttname"><a href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">pFlow::operator&lt;&lt;</a></div><div class="ttdeci">INLINE_FUNCTION iOstream &amp; operator&lt;&lt;(iOstream &amp;str, const AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00057">AdamsBashforth3.hpp:57</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth3::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8cpp_source.html#l00086">AdamsBashforth3.cpp:86</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a10329e18307a60d3fdb203bcbed2b295"><div class="ttname"><a href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">pFlow::integration::owner</a></div><div class="ttdeci">repository &amp; owner()</div><div class="ttdoc">Ref to the owner repository.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00129">integration.hpp:129</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb">pFlow::token::BEGIN_LIST</a></div><div class="ttdeci">@ BEGIN_LIST</div><div class="ttdoc">End entry [isseparator].</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00091">token.hpp:91</a></div></div>
<div class="ttc" id="aclasspFlow_1_1uniquePtr_html"><div class="ttname"><a href="classpFlow_1_1uniquePtr.html">pFlow::uniquePtr</a></div><div class="ttdef"><b>Definition:</b> <a href="uniquePtr_8hpp_source.html#l00042">uniquePtr.hpp:42</a></div></div>
<div class="ttc" id="aintegration_8hpp_html"><div class="ttname"><a href="integration_8hpp.html">integration.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_a29f8a3197295f0ffa73d24bbacc6228c"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#a29f8a3197295f0ffa73d24bbacc6228c">pFlow::AdamsBashforth3::clone</a></div><div class="ttdeci">uniquePtr&lt; integration &gt; clone() const override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00103">AdamsBashforth3.hpp:103</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html_af73af994d6bfc50ff9bda4606cac960b"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html#af73af994d6bfc50ff9bda4606cac960b">pFlow::AdamsBashforth3::TypeInfo</a></div><div class="ttdeci">TypeInfo(&quot;AdamsBashforth3&quot;)</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth3_html"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth3.html">pFlow::AdamsBashforth3</a></div><div class="ttdoc">Third order Adams-Bashforth integration method for solving ODE.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00073">AdamsBashforth3.hpp:73</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a05cf94b87db6b7d4b9c2d2eb81592cf3"><div class="ttname"><a href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">pFlow::integration::method</a></div><div class="ttdeci">virtual word method() const =0</div><div class="ttdoc">return integration method</div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1triple_html"><div class="ttname"><a href="classpFlow_1_1triple.html">pFlow::triple&lt; real &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iOstream_html"><div class="ttname"><a href="classpFlow_1_1iOstream.html">pFlow::iOstream</a></div><div class="ttdoc">Interface class for any output stream.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8hpp_source.html#l00059">iOstream.hpp:59</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_9fe92fbd2d3b874c8837b9b8f1c20305.html">AdamsBashforth3</a></li><li class="navelem"><a class="el" href="AdamsBashforth3_8hpp.html">AdamsBashforth3.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth4/AdamsBashforth4.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth4_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth4.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth4.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth4_8cpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth4_2AdamsBashforth4_8cpp" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth4_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_543abfe930aaf536629272b1dc711075.html">AdamsBashforth4</a></li><li class="navelem"><a class="el" href="AdamsBashforth4_8cpp.html">AdamsBashforth4.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsBashforth4/AdamsBashforth4.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth4\l/AdamsBashforth4.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="AdamsBashforth4.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$AdamsBashforth4_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,260 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth4/AdamsBashforth4.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth4_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth4.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth4_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AdamsBashforth4_8hpp.html">AdamsBashforth4.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<a class="code" href="classpFlow_1_1AdamsBashforth4.html#a69029aec4bfcd45b781d1cfc65359fcb">pFlow::AdamsBashforth4::AdamsBashforth4</a></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#a69029aec4bfcd45b781d1cfc65359fcb"> 26</a></span>&#160;(</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; owner,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; method</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>, owner, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method),</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; history_(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">pointField&lt;VectorSingle,AB4History&gt;</a>&gt;(</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;AB4History&quot;</span>),</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="structpFlow_1_1AB4History.html">AB4History</a>({<a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>,<a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>, <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>})))</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth4::predict</a></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#afb1938bc6cfc199cbd70f224040d4afc"> 49</a></span>&#160;(</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt),</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y),</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;)</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth4::correct</a></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#ac755e4bf02c3732d1eb89de9e903ebdb"> 60</a></span>&#160;(</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;)</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> intAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> intRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#a8da2088458d635dfa1fbe1823a3bfd6d"> 79</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth4::setInitialVals</a>(</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y)</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#a152b752a6b7b37e70fa5e7c99a484783"> 86</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth4::intAll</a>(</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; range activeRng)</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">auto</span> d_history = history_.deviceViewAll();</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="stringliteral">&quot;AdamsBashforth4::correct&quot;</span>,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){ </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; d_y[i] += dt*( </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(55.0 / 24.0) * d_dy[i]</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(59.0 / 24.0) * d_history[i].dy1_ </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(37.0 / 24.0) * d_history[i].dy2_</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 9.0 / 24.0) * d_history[i].dy3_</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; );</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; d_history[i].dy3_ = d_history[i].dy2_;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; d_history[i].dy2_ = d_history[i].dy1_;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; d_history[i].dy1_ = d_dy[i];</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; });</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a477d522d35403bd985ae105bd759e9d1"><div class="ttname"><a href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">pFlow::zero3</a></div><div class="ttdeci">const realx3 zero3(0.0)</div><div class="ttdef"><b>Definition:</b> <a href="types_8hpp_source.html#l00137">types.hpp:137</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a16a2137651b2c6b8ea4a8daf1d89ff61"><div class="ttname"><a href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">pFlow::baseName</a></div><div class="ttdeci">word baseName(const word &amp;w, char sep='.')</div><div class="ttdoc">Find the base in a group separated by &quot;.&quot; and return it.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00185">bTypesFunctions.cpp:185</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsBashforth4::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00091">AdamsBashforth4.hpp:91</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_afb1938bc6cfc199cbd70f224040d4afc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth4::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3Vector_D &amp;UNUSED(y), realx3Vector_D &amp;UNUSED(dy)) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00049">AdamsBashforth4.cpp:49</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1objectFile_html"><div class="ttname"><a href="classpFlow_1_1objectFile.html">pFlow::objectFile</a></div><div class="ttdef"><b>Definition:</b> <a href="objectFile_8hpp_source.html#l00030">objectFile.hpp:30</a></div></div>
<div class="ttc" id="asetPointStructure_8hpp_html_a385e32971df44b131e4498181a949a91"><div class="ttname"><a href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a></div><div class="ttdeci">auto &amp; pStruct</div><div class="ttdef"><b>Definition:</b> <a href="setPointStructure_8hpp_source.html#l00024">setPointStructure.hpp:24</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a69029aec4bfcd45b781d1cfc65359fcb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a69029aec4bfcd45b781d1cfc65359fcb">pFlow::AdamsBashforth4::AdamsBashforth4</a></div><div class="ttdeci">AdamsBashforth4(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00026">AdamsBashforth4.cpp:26</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="aAdamsBashforth4_8hpp_html"><div class="ttname"><a href="AdamsBashforth4_8hpp.html">AdamsBashforth4.hpp</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a12b4d93aa9730629403d73e84386bff5"><div class="ttname"><a href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">pFlow::groupNames</a></div><div class="ttdeci">word groupNames(const word &amp;bw, const word &amp;tw, char sep='.')</div><div class="ttdoc">Group words and output bw.tw.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00179">bTypesFunctions.cpp:179</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth4::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00079">AdamsBashforth4.cpp:79</a></div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB4History_html"><div class="ttname"><a href="structpFlow_1_1AB4History.html">pFlow::AB4History</a></div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00031">AdamsBashforth4.hpp:31</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth4::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00086">AdamsBashforth4.cpp:86</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth4::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00060">AdamsBashforth4.cpp:60</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_543abfe930aaf536629272b1dc711075.html">AdamsBashforth4</a></li><li class="navelem"><a class="el" href="AdamsBashforth4_8cpp.html">AdamsBashforth4.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,160 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth4/AdamsBashforth4.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth4_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">AdamsBashforth4.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth4.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth4_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth4_2AdamsBashforth4_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth4_8hpp__dep__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth4_2AdamsBashforth4_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth4_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpFlow_1_1AB4History.html">AB4History</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1AdamsBashforth4.html">AdamsBashforth4</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fourth order Adams-Bashforth integration method for solving ODE. <a href="classpFlow_1_1AdamsBashforth4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4719ac7229618782ebf68ae575a0b2e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a> iIstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a4719ac7229618782ebf68ae575a0b2e0">operator&gt;&gt;</a> (iIstream &amp;str, AB4History &amp;ab4)</td></tr>
<tr class="separator:a4719ac7229618782ebf68ae575a0b2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa85d76c90b7f76203f3d8ff43c85855d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a> iOstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#aa85d76c90b7f76203f3d8ff43c85855d">operator&lt;&lt;</a> (iOstream &amp;str, const AB4History &amp;ab4)</td></tr>
<tr class="separator:aa85d76c90b7f76203f3d8ff43c85855d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_543abfe930aaf536629272b1dc711075.html">AdamsBashforth4</a></li><li class="navelem"><a class="el" href="AdamsBashforth4_8hpp.html">AdamsBashforth4.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var AdamsBashforth4_8hpp =
[
[ "AB4History", "structpFlow_1_1AB4History.html", "structpFlow_1_1AB4History" ],
[ "AdamsBashforth4", "classpFlow_1_1AdamsBashforth4.html", "classpFlow_1_1AdamsBashforth4" ],
[ "operator>>", "AdamsBashforth4_8hpp.html#a4719ac7229618782ebf68ae575a0b2e0", null ],
[ "operator<<", "AdamsBashforth4_8hpp.html#aa85d76c90b7f76203f3d8ff43c85855d", null ]
];

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsBashforth4/AdamsBashforth4.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth4\l/AdamsBashforth4.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Integration/AdamsBashforth4\l/AdamsBashforth4.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$AdamsBashforth4_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,12 @@
digraph "src/Integration/AdamsBashforth4/AdamsBashforth4.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth4\l/AdamsBashforth4.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="integration.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$integration_8hpp.html",tooltip=" "];
Node2 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="pointFields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointFields_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,359 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth4/AdamsBashforth4.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth4_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth4.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth4_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __AdamsBashforth4_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __AdamsBashforth4_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="integration_8hpp.html">integration.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFields_8hpp.html">pointFields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB4History.html"> 31</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structpFlow_1_1AB4History.html">AB4History</a></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="structpFlow_1_1AB4History.html#a8a588b9f1b4c4b66c2f3d025548fdd8e">TypeInfoNV</a>(<span class="stringliteral">&quot;AB4History&quot;</span>);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB4History.html#a419568ee851e74f5356a30fc5ce2eddf"> 35</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB4History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a>={0,0,0};</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB4History.html#a63d020867c10f8f3fde329eb526a066b"> 36</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB4History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a>={0,0,0};</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB4History.html#a63473eb8257f38bf8863a5c7bd03a330"> 37</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB4History.html#a63473eb8257f38bf8863a5c7bd03a330">dy3_</a>={0,0,0};</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;};</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a4719ac7229618782ebf68ae575a0b2e0"> 43</a></span>&#160;<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; <a class="code" href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">operator&gt;&gt;</a>(<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; str, <a class="code" href="structpFlow_1_1AB4History.html">AB4History</a>&amp; ab4)</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; str.<a class="code" href="classpFlow_1_1iIstream.html#aecfc9cc0a499c7d44de6a7562bcfea3f">readBegin</a>(<span class="stringliteral">&quot;AB4History&quot;</span>);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; str &gt;&gt; ab4.<a class="code" href="structpFlow_1_1AB4History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; str &gt;&gt; ab4.<a class="code" href="structpFlow_1_1AB4History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; str &gt;&gt; ab4.<a class="code" href="structpFlow_1_1AB4History.html#a63473eb8257f38bf8863a5c7bd03a330">dy3_</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; str.<a class="code" href="classpFlow_1_1iIstream.html#a8d82c951160ac1444ee2a2d9ae1ecb11">readEnd</a>(<span class="stringliteral">&quot;AB4History&quot;</span>);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; str.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>);</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> str;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespacepFlow.html#aa85d76c90b7f76203f3d8ff43c85855d"> 60</a></span>&#160;<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; <a class="code" href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">operator&lt;&lt;</a>(<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; str, <span class="keyword">const</span> <a class="code" href="structpFlow_1_1AB4History.html">AB4History</a>&amp; ab4)</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; str &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb">token::BEGIN_LIST</a> &lt;&lt; ab4.<a class="code" href="structpFlow_1_1AB4History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">token::SPACE</a> &lt;&lt; ab4.<a class="code" href="structpFlow_1_1AB4History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">token::SPACE</a> &lt;&lt; ab4.<a class="code" href="structpFlow_1_1AB4History.html#a63473eb8257f38bf8863a5c7bd03a330">dy3_</a></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24">token::END_LIST</a>; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; str.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> str;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html"> 77</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsBashforth4.html">AdamsBashforth4</a></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;:</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1integration.html">integration</a></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#afc6b0e49b18c62aa5edca2a8212c1292"> 84</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">pointField&lt;VectorSingle,AB4History&gt;</a>&amp; <a class="code" href="classpFlow_1_1AdamsBashforth4.html#afc6b0e49b18c62aa5edca2a8212c1292">history_</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> = Kokkos::RangePolicy&lt;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; Kokkos::Schedule&lt;Kokkos::Static&gt;,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; Kokkos::IndexType&lt;int32&gt;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#ace46ff4fbe3c001c816dbc4f9f67606f"> 91</a></span>&#160; &gt;;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a7962c8cac5d82d0793dfeaba6c162f4d">TypeInfo</a>(<span class="stringliteral">&quot;AdamsBashforth4&quot;</span>);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// - Constructors</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a69029aec4bfcd45b781d1cfc65359fcb">AdamsBashforth4</a>(</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">baseName</a>,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">owner</a>,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">method</a>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#a29f8a3197295f0ffa73d24bbacc6228c"> 107</a></span>&#160; <a class="code" href="classpFlow_1_1uniquePtr.html">uniquePtr&lt;integration&gt;</a> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a29f8a3197295f0ffa73d24bbacc6228c">clone</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> makeUnique&lt;AdamsBashforth4&gt;(*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a8c3fff8fec7e5ef08cea578fed2e5fae">~AdamsBashforth4</a>()=<span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a1084909fe2f0dbd8f2af68ab4e94692a">add_vCtor</a>(</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth4.html">AdamsBashforth4</a>,</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">// - Methods</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#afb1938bc6cfc199cbd70f224040d4afc">predict</a>(</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt),</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a> &amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y),</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy)) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#ac755e4bf02c3732d1eb89de9e903ebdb">correct</a>(</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a> &amp; y,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a8da2088458d635dfa1fbe1823a3bfd6d">setInitialVals</a>(</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#aceb0c803bb6e5c46a1695c4e5b6e641f"> 138</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#aceb0c803bb6e5c46a1695c4e5b6e641f">needSetInitialVals</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a152b752a6b7b37e70fa5e7c99a484783">intAll</a>(</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; range activeRng);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a191dc9197b587f09bb5ee7989b0ba43e">intRange</a>(</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; activeFunctor activeP );</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;};</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth4.html#a191dc9197b587f09bb5ee7989b0ba43e"> 162</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth4.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsBashforth4::intRange</a>(</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; activeFunctor activeP )</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;{</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span> d_history = history_.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="stringliteral">&quot;AdamsBashforth4::correct&quot;</span>,</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span>( activeP(i))</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; d_y[i] += dt*( </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(55.0 / 24.0) * d_dy[i]</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(59.0 / 24.0) * d_history[i].dy1_ </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(37.0 / 24.0) * d_history[i].dy2_</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 9.0 / 24.0) * d_history[i].dy3_</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; );</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; d_history[i].dy3_ = d_history[i].dy2_;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; d_history[i].dy2_ = d_history[i].dy1_;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; d_history[i].dy1_ = d_dy[i];</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; });</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;} <span class="comment">// pFlow</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="preprocessor">#endif //__integration_hpp__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="astructpFlow_1_1AB4History_html_a63473eb8257f38bf8863a5c7bd03a330"><div class="ttname"><a href="structpFlow_1_1AB4History.html#a63473eb8257f38bf8863a5c7bd03a330">pFlow::AB4History::dy3_</a></div><div class="ttdeci">realx3 dy3_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00037">AdamsBashforth4.hpp:37</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a191dc9197b587f09bb5ee7989b0ba43e"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsBashforth4::intRange</a></div><div class="ttdeci">bool intRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Integrate on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00162">AdamsBashforth4.hpp:162</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html_aecfc9cc0a499c7d44de6a7562bcfea3f"><div class="ttname"><a href="classpFlow_1_1iIstream.html#aecfc9cc0a499c7d44de6a7562bcfea3f">pFlow::iIstream::readBegin</a></div><div class="ttdeci">bool readBegin(const char *funcName)</div><div class="ttdoc">Begin read of data chunk, starts with '('.</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00238">iIstream.cpp:238</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_afc491fbd69e70abdcb02a8cd3ce2939e"><div class="ttname"><a href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div><div class="ttdeci">#define INLINE_FUNCTION</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00066">pFlowMacros.hpp:66</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a29f8a3197295f0ffa73d24bbacc6228c"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a29f8a3197295f0ffa73d24bbacc6228c">pFlow::AdamsBashforth4::clone</a></div><div class="ttdeci">uniquePtr&lt; integration &gt; clone() const override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00107">AdamsBashforth4.hpp:107</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae49b1b421c0a7de757a2fdc46f163498"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">pFlow::internalField&lt; T, void &gt;::deviceViewAll</a></div><div class="ttdeci">const auto &amp; deviceViewAll() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00092">internalField.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a5a622149e803f0fa292a95784c12a7b8"><div class="ttname"><a href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pFlow::integration::pStruct</a></div><div class="ttdeci">const auto &amp; pStruct() const</div><div class="ttdoc">Const ref to pointStructure.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00115">integration.hpp:115</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html_a8d82c951160ac1444ee2a2d9ae1ecb11"><div class="ttname"><a href="classpFlow_1_1iIstream.html#a8d82c951160ac1444ee2a2d9ae1ecb11">pFlow::iIstream::readEnd</a></div><div class="ttdeci">bool readEnd(const char *funcName)</div><div class="ttdoc">End read of data chunk, ends with ')' return true or FatalIOError.</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00258">iIstream.cpp:258</a></div></div>
<div class="ttc" id="apointFields_8hpp_html"><div class="ttname"><a href="pointFields_8hpp.html">pointFields.hpp</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a922d2784284e8f6ee4009c3d92ba48b6"><div class="ttname"><a href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a></div><div class="ttdeci">#define FUNCTION_NAME</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00029">pFlowMacros.hpp:29</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a1084909fe2f0dbd8f2af68ab4e94692a"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a1084909fe2f0dbd8f2af68ab4e94692a">pFlow::AdamsBashforth4::add_vCtor</a></div><div class="ttdeci">add_vCtor(integration, AdamsBashforth4, word)</div><div class="ttdoc">Add a this to the virtual constructor table.</div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">pFlow::token::SPACE</a></div><div class="ttdeci">@ SPACE</div><div class="ttdoc">Nul character.</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00086">token.hpp:86</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a7962c8cac5d82d0793dfeaba6c162f4d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a7962c8cac5d82d0793dfeaba6c162f4d">pFlow::AdamsBashforth4::TypeInfo</a></div><div class="ttdeci">TypeInfo(&quot;AdamsBashforth4&quot;)</div><div class="ttdoc">Type info.</div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a4e30df3927ef1cdd2490cd85018518f5"><div class="ttname"><a href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">pFlow::integration::baseName</a></div><div class="ttdeci">const word &amp; baseName() const</div><div class="ttdoc">Base name.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00122">integration.hpp:122</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_a367eb3425fc4e8270e2aa961df8ac8a5"><div class="ttname"><a href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">pFlow::IOstream::check</a></div><div class="ttdeci">virtual bool check(const char *operation) const</div><div class="ttdoc">Check IOstream status for given operation.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8cpp_source.html#l00042">IOstream.cpp:42</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a8c3fff8fec7e5ef08cea578fed2e5fae"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a8c3fff8fec7e5ef08cea578fed2e5fae">pFlow::AdamsBashforth4::~AdamsBashforth4</a></div><div class="ttdeci">virtual ~AdamsBashforth4()=default</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html"><div class="ttname"><a href="classpFlow_1_1iIstream.html">pFlow::iIstream</a></div><div class="ttdoc">Interface class for any input stream</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8hpp_source.html#l00037">iIstream.hpp:37</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsBashforth4::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00091">AdamsBashforth4.hpp:91</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_afb1938bc6cfc199cbd70f224040d4afc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth4::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3Vector_D &amp;UNUSED(y), realx3Vector_D &amp;UNUSED(dy)) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00049">AdamsBashforth4.cpp:49</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB4History_html_a8a588b9f1b4c4b66c2f3d025548fdd8e"><div class="ttname"><a href="structpFlow_1_1AB4History.html#a8a588b9f1b4c4b66c2f3d025548fdd8e">pFlow::AB4History::TypeInfoNV</a></div><div class="ttdeci">TypeInfoNV(&quot;AB4History&quot;)</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_aceb0c803bb6e5c46a1695c4e5b6e641f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#aceb0c803bb6e5c46a1695c4e5b6e641f">pFlow::AdamsBashforth4::needSetInitialVals</a></div><div class="ttdeci">bool needSetInitialVals() const override</div><div class="ttdoc">Check if the method requires any set initial vals.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00138">AdamsBashforth4.hpp:138</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a85ed561d066dae339196cd058783674f"><div class="ttname"><a href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">pFlow::operator&gt;&gt;</a></div><div class="ttdeci">INLINE_FUNCTION iIstream &amp; operator&gt;&gt;(iIstream &amp;str, AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00041">AdamsBashforth3.hpp:41</a></div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24">pFlow::token::END_LIST</a></div><div class="ttdeci">@ END_LIST</div><div class="ttdoc">Begin list [isseparator].</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00092">token.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html">pFlow::AdamsBashforth4</a></div><div class="ttdoc">Fourth order Adams-Bashforth integration method for solving ODE.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00077">AdamsBashforth4.hpp:77</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a148d74ad0977268be8ea8b26a147f619"><div class="ttname"><a href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">pFlow::operator&lt;&lt;</a></div><div class="ttdeci">INLINE_FUNCTION iOstream &amp; operator&lt;&lt;(iOstream &amp;str, const AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00057">AdamsBashforth3.hpp:57</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a10329e18307a60d3fdb203bcbed2b295"><div class="ttname"><a href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">pFlow::integration::owner</a></div><div class="ttdeci">repository &amp; owner()</div><div class="ttdoc">Ref to the owner repository.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00129">integration.hpp:129</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a69029aec4bfcd45b781d1cfc65359fcb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a69029aec4bfcd45b781d1cfc65359fcb">pFlow::AdamsBashforth4::AdamsBashforth4</a></div><div class="ttdeci">AdamsBashforth4(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00026">AdamsBashforth4.cpp:26</a></div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb">pFlow::token::BEGIN_LIST</a></div><div class="ttdeci">@ BEGIN_LIST</div><div class="ttdoc">End entry [isseparator].</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00091">token.hpp:91</a></div></div>
<div class="ttc" id="aclasspFlow_1_1uniquePtr_html"><div class="ttname"><a href="classpFlow_1_1uniquePtr.html">pFlow::uniquePtr</a></div><div class="ttdef"><b>Definition:</b> <a href="uniquePtr_8hpp_source.html#l00042">uniquePtr.hpp:42</a></div></div>
<div class="ttc" id="aintegration_8hpp_html"><div class="ttname"><a href="integration_8hpp.html">integration.hpp</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth4::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00079">AdamsBashforth4.cpp:79</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a05cf94b87db6b7d4b9c2d2eb81592cf3"><div class="ttname"><a href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">pFlow::integration::method</a></div><div class="ttdeci">virtual word method() const =0</div><div class="ttdoc">return integration method</div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_afc6b0e49b18c62aa5edca2a8212c1292"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#afc6b0e49b18c62aa5edca2a8212c1292">pFlow::AdamsBashforth4::history_</a></div><div class="ttdeci">pointField&lt; VectorSingle, AB4History &gt; &amp; history_</div><div class="ttdoc">Integration history.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00084">AdamsBashforth4.hpp:84</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB4History_html_a419568ee851e74f5356a30fc5ce2eddf"><div class="ttname"><a href="structpFlow_1_1AB4History.html#a419568ee851e74f5356a30fc5ce2eddf">pFlow::AB4History::dy1_</a></div><div class="ttdeci">realx3 dy1_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00035">AdamsBashforth4.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1triple_html"><div class="ttname"><a href="classpFlow_1_1triple.html">pFlow::triple&lt; real &gt;</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB4History_html"><div class="ttname"><a href="structpFlow_1_1AB4History.html">pFlow::AB4History</a></div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00031">AdamsBashforth4.hpp:31</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth4::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00086">AdamsBashforth4.cpp:86</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iOstream_html"><div class="ttname"><a href="classpFlow_1_1iOstream.html">pFlow::iOstream</a></div><div class="ttdoc">Interface class for any output stream.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8hpp_source.html#l00059">iOstream.hpp:59</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB4History_html_a63d020867c10f8f3fde329eb526a066b"><div class="ttname"><a href="structpFlow_1_1AB4History.html#a63d020867c10f8f3fde329eb526a066b">pFlow::AB4History::dy2_</a></div><div class="ttdeci">realx3 dy2_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8hpp_source.html#l00036">AdamsBashforth4.hpp:36</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth4_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth4.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth4::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth4_8cpp_source.html#l00060">AdamsBashforth4.cpp:60</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_543abfe930aaf536629272b1dc711075.html">AdamsBashforth4</a></li><li class="navelem"><a class="el" href="AdamsBashforth4_8hpp.html">AdamsBashforth4.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth5/AdamsBashforth5.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth5_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth5.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth5.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth5_8cpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth5_2AdamsBashforth5_8cpp" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth5_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_d19bd4f5a5ffc8e61ede52143ccad050.html">AdamsBashforth5</a></li><li class="navelem"><a class="el" href="AdamsBashforth5_8cpp.html">AdamsBashforth5.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsBashforth5/AdamsBashforth5.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth5\l/AdamsBashforth5.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="AdamsBashforth5.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$AdamsBashforth5_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,257 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth5/AdamsBashforth5.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth5_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth5.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth5_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AdamsBashforth5_8hpp.html">AdamsBashforth5.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<a class="code" href="classpFlow_1_1AdamsBashforth5.html#a129b1fb5fcc9dfcc9c803d8b13758cbc">pFlow::AdamsBashforth5::AdamsBashforth5</a></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#a129b1fb5fcc9dfcc9c803d8b13758cbc"> 26</a></span>&#160;(</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; owner,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; method</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>, owner, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method),</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; history_(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">pointField&lt;VectorSingle,AB5History&gt;</a>&gt;(</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;AB5History&quot;</span>),</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="structpFlow_1_1AB5History.html">AB5History</a>({<a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>,<a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>, <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>})))</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth5::predict</a></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#afb1938bc6cfc199cbd70f224040d4afc"> 49</a></span>&#160;(</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt),</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y),</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy)</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;)</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth5::correct</a></div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#ac755e4bf02c3732d1eb89de9e903ebdb"> 60</a></span>&#160;(</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;)</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> intAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> intRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#a8da2088458d635dfa1fbe1823a3bfd6d"> 79</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth5::setInitialVals</a>(</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y)</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#a152b752a6b7b37e70fa5e7c99a484783"> 86</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth5::intAll</a>(</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; range activeRng)</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">auto</span> d_history = history_.deviceViewAll();</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="stringliteral">&quot;AdamsBashforth5::correct&quot;</span>,</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){ </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; d_y[i] += dt*( </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1901.0 / 720.0) * d_dy[i]</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(2774.0 / 720.0) * d_history[i].dy1_ </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(2616.0 / 720.0) * d_history[i].dy2_</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1274.0 / 720.0) * d_history[i].dy3_</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 251.0 / 720.0) * d_history[i].dy4_</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; );</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; d_history[i] = {d_dy[i] ,d_history[i].dy1_, d_history[i].dy2_, d_history[i].dy3_};</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; });</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a129b1fb5fcc9dfcc9c803d8b13758cbc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a129b1fb5fcc9dfcc9c803d8b13758cbc">pFlow::AdamsBashforth5::AdamsBashforth5</a></div><div class="ttdeci">AdamsBashforth5(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00026">AdamsBashforth5.cpp:26</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth5::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00079">AdamsBashforth5.cpp:79</a></div></div>
<div class="ttc" id="aAdamsBashforth5_8hpp_html"><div class="ttname"><a href="AdamsBashforth5_8hpp.html">AdamsBashforth5.hpp</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a477d522d35403bd985ae105bd759e9d1"><div class="ttname"><a href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">pFlow::zero3</a></div><div class="ttdeci">const realx3 zero3(0.0)</div><div class="ttdef"><b>Definition:</b> <a href="types_8hpp_source.html#l00137">types.hpp:137</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a16a2137651b2c6b8ea4a8daf1d89ff61"><div class="ttname"><a href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">pFlow::baseName</a></div><div class="ttdeci">word baseName(const word &amp;w, char sep='.')</div><div class="ttdoc">Find the base in a group separated by &quot;.&quot; and return it.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00185">bTypesFunctions.cpp:185</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB5History_html"><div class="ttname"><a href="structpFlow_1_1AB5History.html">pFlow::AB5History</a></div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00031">AdamsBashforth5.hpp:31</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth5::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00086">AdamsBashforth5.cpp:86</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth5::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00060">AdamsBashforth5.cpp:60</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1objectFile_html"><div class="ttname"><a href="classpFlow_1_1objectFile.html">pFlow::objectFile</a></div><div class="ttdef"><b>Definition:</b> <a href="objectFile_8hpp_source.html#l00030">objectFile.hpp:30</a></div></div>
<div class="ttc" id="asetPointStructure_8hpp_html_a385e32971df44b131e4498181a949a91"><div class="ttname"><a href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a></div><div class="ttdeci">auto &amp; pStruct</div><div class="ttdef"><b>Definition:</b> <a href="setPointStructure_8hpp_source.html#l00024">setPointStructure.hpp:24</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a12b4d93aa9730629403d73e84386bff5"><div class="ttname"><a href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">pFlow::groupNames</a></div><div class="ttdeci">word groupNames(const word &amp;bw, const word &amp;tw, char sep='.')</div><div class="ttdoc">Group words and output bw.tw.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00179">bTypesFunctions.cpp:179</a></div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsBashforth5::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00093">AdamsBashforth5.hpp:93</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_afb1938bc6cfc199cbd70f224040d4afc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth5::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3Vector_D &amp;UNUSED(y), realx3Vector_D &amp;UNUSED(dy)) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00049">AdamsBashforth5.cpp:49</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_d19bd4f5a5ffc8e61ede52143ccad050.html">AdamsBashforth5</a></li><li class="navelem"><a class="el" href="AdamsBashforth5_8cpp.html">AdamsBashforth5.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,160 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth5/AdamsBashforth5.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth5_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">AdamsBashforth5.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsBashforth5.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth5_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth5_2AdamsBashforth5_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsBashforth5_8hpp__dep__incl.png" border="0" usemap="#src_2Integration_2AdamsBashforth5_2AdamsBashforth5_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="AdamsBashforth5_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpFlow_1_1AB5History.html">AB5History</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1AdamsBashforth5.html">AdamsBashforth5</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fifth order Adams-Bashforth integration method for solving ODE. <a href="classpFlow_1_1AdamsBashforth5.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a91f6f61249c02b68680178571f3ba1e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a> iIstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a91f6f61249c02b68680178571f3ba1e4">operator&gt;&gt;</a> (iIstream &amp;str, AB5History &amp;ab5)</td></tr>
<tr class="separator:a91f6f61249c02b68680178571f3ba1e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecbe4c42d601cec6361303d1c1db7ddc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a> iOstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#aecbe4c42d601cec6361303d1c1db7ddc">operator&lt;&lt;</a> (iOstream &amp;str, const AB5History &amp;ab5)</td></tr>
<tr class="separator:aecbe4c42d601cec6361303d1c1db7ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_d19bd4f5a5ffc8e61ede52143ccad050.html">AdamsBashforth5</a></li><li class="navelem"><a class="el" href="AdamsBashforth5_8hpp.html">AdamsBashforth5.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var AdamsBashforth5_8hpp =
[
[ "AB5History", "structpFlow_1_1AB5History.html", "structpFlow_1_1AB5History" ],
[ "AdamsBashforth5", "classpFlow_1_1AdamsBashforth5.html", "classpFlow_1_1AdamsBashforth5" ],
[ "operator>>", "AdamsBashforth5_8hpp.html#a91f6f61249c02b68680178571f3ba1e4", null ],
[ "operator<<", "AdamsBashforth5_8hpp.html#aecbe4c42d601cec6361303d1c1db7ddc", null ]
];

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsBashforth5/AdamsBashforth5.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth5\l/AdamsBashforth5.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Integration/AdamsBashforth5\l/AdamsBashforth5.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$AdamsBashforth5_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,12 @@
digraph "src/Integration/AdamsBashforth5/AdamsBashforth5.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsBashforth5\l/AdamsBashforth5.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="integration.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$integration_8hpp.html",tooltip=" "];
Node2 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="pointFields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointFields_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,361 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsBashforth5/AdamsBashforth5.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsBashforth5_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsBashforth5.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsBashforth5_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __AdamsBashforth5_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __AdamsBashforth5_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="integration_8hpp.html">integration.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFields_8hpp.html">pointFields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB5History.html"> 31</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structpFlow_1_1AB5History.html">AB5History</a></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="structpFlow_1_1AB5History.html#a5de7b6e3fd724f7ef57a928b5eef18f7">TypeInfoNV</a>(<span class="stringliteral">&quot;AB5History&quot;</span>);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB5History.html#a419568ee851e74f5356a30fc5ce2eddf"> 35</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB5History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a>={0,0,0};</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB5History.html#a63d020867c10f8f3fde329eb526a066b"> 36</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB5History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a>={0,0,0};</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB5History.html#a63473eb8257f38bf8863a5c7bd03a330"> 37</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB5History.html#a63473eb8257f38bf8863a5c7bd03a330">dy3_</a>={0,0,0};</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="structpFlow_1_1AB5History.html#a5025c11bc753cdbe183c1c61d2687762"> 38</a></span>&#160; <a class="code" href="classpFlow_1_1triple.html">realx3</a> <a class="code" href="structpFlow_1_1AB5History.html#a5025c11bc753cdbe183c1c61d2687762">dy4_</a>={0,0,0};</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;};</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a91f6f61249c02b68680178571f3ba1e4"> 43</a></span>&#160;<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; <a class="code" href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">operator&gt;&gt;</a>(<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; str, <a class="code" href="structpFlow_1_1AB5History.html">AB5History</a>&amp; ab5)</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; str.<a class="code" href="classpFlow_1_1iIstream.html#aecfc9cc0a499c7d44de6a7562bcfea3f">readBegin</a>(<span class="stringliteral">&quot;AB5History&quot;</span>);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; str &gt;&gt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; str &gt;&gt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; str &gt;&gt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a63473eb8257f38bf8863a5c7bd03a330">dy3_</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; str &gt;&gt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a5025c11bc753cdbe183c1c61d2687762">dy4_</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; str.<a class="code" href="classpFlow_1_1iIstream.html#a8d82c951160ac1444ee2a2d9ae1ecb11">readEnd</a>(<span class="stringliteral">&quot;AB5History&quot;</span>);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; str.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>);</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">return</span> str;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<a class="code" href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="namespacepFlow.html#aecbe4c42d601cec6361303d1c1db7ddc"> 61</a></span>&#160;<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; <a class="code" href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">operator&lt;&lt;</a>(<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; str, <span class="keyword">const</span> <a class="code" href="structpFlow_1_1AB5History.html">AB5History</a>&amp; ab5)</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;{</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; str &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb">token::BEGIN_LIST</a> &lt;&lt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a419568ee851e74f5356a30fc5ce2eddf">dy1_</a></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">token::SPACE</a> &lt;&lt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a63d020867c10f8f3fde329eb526a066b">dy2_</a></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">token::SPACE</a> &lt;&lt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a63473eb8257f38bf8863a5c7bd03a330">dy3_</a></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">token::SPACE</a> &lt;&lt; ab5.<a class="code" href="structpFlow_1_1AB5History.html#a5025c11bc753cdbe183c1c61d2687762">dy4_</a></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; &lt;&lt; <a class="code" href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24">token::END_LIST</a>; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; str.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">return</span> str;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html"> 79</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsBashforth5.html">AdamsBashforth5</a></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;:</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1integration.html">integration</a></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#a3b54213050031687c798fa68961a9296"> 86</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">pointField&lt;VectorSingle,AB5History&gt;</a>&amp; <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a3b54213050031687c798fa68961a9296">history_</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> = Kokkos::RangePolicy&lt;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; Kokkos::Schedule&lt;Kokkos::Static&gt;,</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; Kokkos::IndexType&lt;int32&gt;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#ace46ff4fbe3c001c816dbc4f9f67606f"> 93</a></span>&#160; &gt;;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a3807bf6f59fc7de37ab4af95364335f2">TypeInfo</a>(<span class="stringliteral">&quot;AdamsBashforth5&quot;</span>);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// - Constructors</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a129b1fb5fcc9dfcc9c803d8b13758cbc">AdamsBashforth5</a>(</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">baseName</a>,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">owner</a>,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">method</a>);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#a29f8a3197295f0ffa73d24bbacc6228c"> 108</a></span>&#160; <a class="code" href="classpFlow_1_1uniquePtr.html">uniquePtr&lt;integration&gt;</a> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a29f8a3197295f0ffa73d24bbacc6228c">clone</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> makeUnique&lt;AdamsBashforth5&gt;(*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a889e2aac594d1f14b8d243497b521cb8">~AdamsBashforth5</a>()=<span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a12a13b4372ff9e69e5e921529b13ac17">add_vCtor</a>(</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth5.html">AdamsBashforth5</a>,</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">// - Methods</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#afb1938bc6cfc199cbd70f224040d4afc">predict</a>(</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dt),</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a> &amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(y),</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; <a class="code" href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a>(dy)) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#ac755e4bf02c3732d1eb89de9e903ebdb">correct</a>(</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a> &amp; y,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a8da2088458d635dfa1fbe1823a3bfd6d">setInitialVals</a>(</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#aceb0c803bb6e5c46a1695c4e5b6e641f"> 138</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#aceb0c803bb6e5c46a1695c4e5b6e641f">needSetInitialVals</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a152b752a6b7b37e70fa5e7c99a484783">intAll</a>(</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; range activeRng);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a191dc9197b587f09bb5ee7989b0ba43e">intRange</a>(</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; activeFunctor activeP );</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;};</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsBashforth5.html#a191dc9197b587f09bb5ee7989b0ba43e"> 162</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsBashforth5.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsBashforth5::intRange</a>(</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; activeFunctor activeP )</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;{</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">auto</span> d_history = history_.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="stringliteral">&quot;AdamsBashforth5::correct&quot;</span>,</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classpFlow_1_1AdamsBashforth5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span>( activeP(i))</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; d_y[i] += dt*( </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1901.0 / 720.0) * d_dy[i]</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(2774.0 / 720.0) * d_history[i].dy1_ </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(2616.0 / 720.0) * d_history[i].dy2_</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1274.0 / 720.0) * d_history[i].dy3_</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 251.0 / 720.0) * d_history[i].dy4_</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; );</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; d_history[i] = {d_dy[i] ,d_history[i].dy1_, d_history[i].dy2_, d_history[i].dy3_};</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; });</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;}</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;} <span class="comment">// pFlow</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; </div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="preprocessor">#endif //</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1iIstream_html_aecfc9cc0a499c7d44de6a7562bcfea3f"><div class="ttname"><a href="classpFlow_1_1iIstream.html#aecfc9cc0a499c7d44de6a7562bcfea3f">pFlow::iIstream::readBegin</a></div><div class="ttdeci">bool readBegin(const char *funcName)</div><div class="ttdoc">Begin read of data chunk, starts with '('.</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00238">iIstream.cpp:238</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_afc491fbd69e70abdcb02a8cd3ce2939e"><div class="ttname"><a href="pFlowMacros_8hpp.html#afc491fbd69e70abdcb02a8cd3ce2939e">INLINE_FUNCTION</a></div><div class="ttdeci">#define INLINE_FUNCTION</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00066">pFlowMacros.hpp:66</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a12a13b4372ff9e69e5e921529b13ac17"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a12a13b4372ff9e69e5e921529b13ac17">pFlow::AdamsBashforth5::add_vCtor</a></div><div class="ttdeci">add_vCtor(integration, AdamsBashforth5, word)</div><div class="ttdoc">Add this to the virtual constructor table.</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a3b54213050031687c798fa68961a9296"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a3b54213050031687c798fa68961a9296">pFlow::AdamsBashforth5::history_</a></div><div class="ttdeci">pointField&lt; VectorSingle, AB5History &gt; &amp; history_</div><div class="ttdoc">Integration history.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00086">AdamsBashforth5.hpp:86</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a86d500a34c624c2cae56bc25a31b12f3"><div class="ttname"><a href="pFlowMacros_8hpp.html#a86d500a34c624c2cae56bc25a31b12f3">UNUSED</a></div><div class="ttdeci">#define UNUSED(x)</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00035">pFlowMacros.hpp:35</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB5History_html_a5025c11bc753cdbe183c1c61d2687762"><div class="ttname"><a href="structpFlow_1_1AB5History.html#a5025c11bc753cdbe183c1c61d2687762">pFlow::AB5History::dy4_</a></div><div class="ttdeci">realx3 dy4_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00038">AdamsBashforth5.hpp:38</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a129b1fb5fcc9dfcc9c803d8b13758cbc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a129b1fb5fcc9dfcc9c803d8b13758cbc">pFlow::AdamsBashforth5::AdamsBashforth5</a></div><div class="ttdeci">AdamsBashforth5(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00026">AdamsBashforth5.cpp:26</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae49b1b421c0a7de757a2fdc46f163498"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">pFlow::internalField&lt; T, void &gt;::deviceViewAll</a></div><div class="ttdeci">const auto &amp; deviceViewAll() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00092">internalField.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsBashforth5::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00079">AdamsBashforth5.cpp:79</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a5a622149e803f0fa292a95784c12a7b8"><div class="ttname"><a href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pFlow::integration::pStruct</a></div><div class="ttdeci">const auto &amp; pStruct() const</div><div class="ttdoc">Const ref to pointStructure.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00115">integration.hpp:115</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html_a8d82c951160ac1444ee2a2d9ae1ecb11"><div class="ttname"><a href="classpFlow_1_1iIstream.html#a8d82c951160ac1444ee2a2d9ae1ecb11">pFlow::iIstream::readEnd</a></div><div class="ttdeci">bool readEnd(const char *funcName)</div><div class="ttdoc">End read of data chunk, ends with ')' return true or FatalIOError.</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00258">iIstream.cpp:258</a></div></div>
<div class="ttc" id="apointFields_8hpp_html"><div class="ttname"><a href="pointFields_8hpp.html">pointFields.hpp</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a922d2784284e8f6ee4009c3d92ba48b6"><div class="ttname"><a href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a></div><div class="ttdeci">#define FUNCTION_NAME</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00029">pFlowMacros.hpp:29</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB5History_html_a63473eb8257f38bf8863a5c7bd03a330"><div class="ttname"><a href="structpFlow_1_1AB5History.html#a63473eb8257f38bf8863a5c7bd03a330">pFlow::AB5History::dy3_</a></div><div class="ttdeci">realx3 dy3_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00037">AdamsBashforth5.hpp:37</a></div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ac08dae7edcb5c5bb959fee5971fbad95">pFlow::token::SPACE</a></div><div class="ttdeci">@ SPACE</div><div class="ttdoc">Nul character.</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00086">token.hpp:86</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a4e30df3927ef1cdd2490cd85018518f5"><div class="ttname"><a href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">pFlow::integration::baseName</a></div><div class="ttdeci">const word &amp; baseName() const</div><div class="ttdoc">Base name.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00122">integration.hpp:122</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html">pFlow::AdamsBashforth5</a></div><div class="ttdoc">Fifth order Adams-Bashforth integration method for solving ODE.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00079">AdamsBashforth5.hpp:79</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_a367eb3425fc4e8270e2aa961df8ac8a5"><div class="ttname"><a href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">pFlow::IOstream::check</a></div><div class="ttdeci">virtual bool check(const char *operation) const</div><div class="ttdoc">Check IOstream status for given operation.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8cpp_source.html#l00042">IOstream.cpp:42</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB5History_html"><div class="ttname"><a href="structpFlow_1_1AB5History.html">pFlow::AB5History</a></div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00031">AdamsBashforth5.hpp:31</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB5History_html_a63d020867c10f8f3fde329eb526a066b"><div class="ttname"><a href="structpFlow_1_1AB5History.html#a63d020867c10f8f3fde329eb526a066b">pFlow::AB5History::dy2_</a></div><div class="ttdeci">realx3 dy2_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00036">AdamsBashforth5.hpp:36</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html"><div class="ttname"><a href="classpFlow_1_1iIstream.html">pFlow::iIstream</a></div><div class="ttdoc">Interface class for any input stream</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8hpp_source.html#l00037">iIstream.hpp:37</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsBashforth5::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00086">AdamsBashforth5.cpp:86</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB5History_html_a419568ee851e74f5356a30fc5ce2eddf"><div class="ttname"><a href="structpFlow_1_1AB5History.html#a419568ee851e74f5356a30fc5ce2eddf">pFlow::AB5History::dy1_</a></div><div class="ttdeci">realx3 dy1_</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00035">AdamsBashforth5.hpp:35</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsBashforth5::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00060">AdamsBashforth5.cpp:60</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a85ed561d066dae339196cd058783674f"><div class="ttname"><a href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">pFlow::operator&gt;&gt;</a></div><div class="ttdeci">INLINE_FUNCTION iIstream &amp; operator&gt;&gt;(iIstream &amp;str, AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00041">AdamsBashforth3.hpp:41</a></div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31ab0421ccee09cdeadea4bc12e7f38be24">pFlow::token::END_LIST</a></div><div class="ttdeci">@ END_LIST</div><div class="ttdoc">Begin list [isseparator].</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00092">token.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a29f8a3197295f0ffa73d24bbacc6228c"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a29f8a3197295f0ffa73d24bbacc6228c">pFlow::AdamsBashforth5::clone</a></div><div class="ttdeci">uniquePtr&lt; integration &gt; clone() const override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00108">AdamsBashforth5.hpp:108</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a191dc9197b587f09bb5ee7989b0ba43e"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsBashforth5::intRange</a></div><div class="ttdeci">bool intRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Integrate on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00162">AdamsBashforth5.hpp:162</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a148d74ad0977268be8ea8b26a147f619"><div class="ttname"><a href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">pFlow::operator&lt;&lt;</a></div><div class="ttdeci">INLINE_FUNCTION iOstream &amp; operator&lt;&lt;(iOstream &amp;str, const AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00057">AdamsBashforth3.hpp:57</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a889e2aac594d1f14b8d243497b521cb8"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a889e2aac594d1f14b8d243497b521cb8">pFlow::AdamsBashforth5::~AdamsBashforth5</a></div><div class="ttdeci">virtual ~AdamsBashforth5()=default</div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a10329e18307a60d3fdb203bcbed2b295"><div class="ttname"><a href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">pFlow::integration::owner</a></div><div class="ttdeci">repository &amp; owner()</div><div class="ttdoc">Ref to the owner repository.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00129">integration.hpp:129</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1token_html_a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb"><div class="ttname"><a href="classpFlow_1_1token.html#a4aba281d025f1d580c3835d67656fd31a8042f41e6dc49acd5cf4e86844f79acb">pFlow::token::BEGIN_LIST</a></div><div class="ttdeci">@ BEGIN_LIST</div><div class="ttdoc">End entry [isseparator].</div><div class="ttdef"><b>Definition:</b> <a href="token_8hpp_source.html#l00091">token.hpp:91</a></div></div>
<div class="ttc" id="aclasspFlow_1_1uniquePtr_html"><div class="ttname"><a href="classpFlow_1_1uniquePtr.html">pFlow::uniquePtr</a></div><div class="ttdef"><b>Definition:</b> <a href="uniquePtr_8hpp_source.html#l00042">uniquePtr.hpp:42</a></div></div>
<div class="ttc" id="aintegration_8hpp_html"><div class="ttname"><a href="integration_8hpp.html">integration.hpp</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a05cf94b87db6b7d4b9c2d2eb81592cf3"><div class="ttname"><a href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">pFlow::integration::method</a></div><div class="ttdeci">virtual word method() const =0</div><div class="ttdoc">return integration method</div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_a3807bf6f59fc7de37ab4af95364335f2"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#a3807bf6f59fc7de37ab4af95364335f2">pFlow::AdamsBashforth5::TypeInfo</a></div><div class="ttdeci">TypeInfo(&quot;AdamsBashforth5&quot;)</div><div class="ttdoc">Type info.</div></div>
<div class="ttc" id="aclasspFlow_1_1triple_html"><div class="ttname"><a href="classpFlow_1_1triple.html">pFlow::triple&lt; real &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsBashforth5::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00093">AdamsBashforth5.hpp:93</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iOstream_html"><div class="ttname"><a href="classpFlow_1_1iOstream.html">pFlow::iOstream</a></div><div class="ttdoc">Interface class for any output stream.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8hpp_source.html#l00059">iOstream.hpp:59</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_afb1938bc6cfc199cbd70f224040d4afc"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#afb1938bc6cfc199cbd70f224040d4afc">pFlow::AdamsBashforth5::predict</a></div><div class="ttdeci">bool predict(real UNUSED(dt), realx3Vector_D &amp;UNUSED(y), realx3Vector_D &amp;UNUSED(dy)) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8cpp_source.html#l00049">AdamsBashforth5.cpp:49</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsBashforth5_html_aceb0c803bb6e5c46a1695c4e5b6e641f"><div class="ttname"><a href="classpFlow_1_1AdamsBashforth5.html#aceb0c803bb6e5c46a1695c4e5b6e641f">pFlow::AdamsBashforth5::needSetInitialVals</a></div><div class="ttdeci">bool needSetInitialVals() const override</div><div class="ttdoc">Check if the method requires any set initial vals.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth5_8hpp_source.html#l00138">AdamsBashforth5.hpp:138</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div class="ttc" id="astructpFlow_1_1AB5History_html_a5de7b6e3fd724f7ef57a928b5eef18f7"><div class="ttname"><a href="structpFlow_1_1AB5History.html#a5de7b6e3fd724f7ef57a928b5eef18f7">pFlow::AB5History::TypeInfoNV</a></div><div class="ttdeci">TypeInfoNV(&quot;AB5History&quot;)</div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_d19bd4f5a5ffc8e61ede52143ccad050.html">AdamsBashforth5</a></li><li class="navelem"><a class="el" href="AdamsBashforth5_8hpp.html">AdamsBashforth5.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton3/AdamsMoulton3.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton3_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton3.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsMoulton3.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton3_8cpp__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton3_2AdamsMoulton3_8cpp" alt=""/></div>
</div>
</div>
<p><a href="AdamsMoulton3_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_ed4d7dc116afda9346717c943a5846fb.html">AdamsMoulton3</a></li><li class="navelem"><a class="el" href="AdamsMoulton3_8cpp.html">AdamsMoulton3.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsMoulton3/AdamsMoulton3.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton3\l/AdamsMoulton3.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="AdamsMoulton3.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$AdamsMoulton3_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,321 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton3/AdamsMoulton3.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton3_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton3.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsMoulton3_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AdamsMoulton3_8hpp.html">AdamsMoulton3.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">//const real AB2_coef[] = { 3.0 / 2.0, 1.0 / 2.0};</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<a class="code" href="classpFlow_1_1AdamsMoulton3.html#ad0d8f6814b44931c5a758e93505e0a6e">pFlow::AdamsMoulton3::AdamsMoulton3</a></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#ad0d8f6814b44931c5a758e93505e0a6e"> 26</a></span>&#160;(</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; owner,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; method</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>, owner, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method),</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; y0_(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;y0&quot;</span>),</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">false</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; )</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; ),</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; dy0_(</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy0&quot;</span>),</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; )</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; ),</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; dy1_(</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy1&quot;</span>),</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; )</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; )</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton3::predict</a></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a565b658e8641f9fd9a6a5c8e93089d5d"> 73</a></span>&#160;(</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;)</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> predictAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> predictRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton3::correct</a></div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#ac755e4bf02c3732d1eb89de9e903ebdb"> 93</a></span>&#160;(</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;)</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> intAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> intRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a8da2088458d635dfa1fbe1823a3bfd6d"> 111</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton3::setInitialVals</a>(</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y)</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;{</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae97e2279d720194a68a594a3edbc6763">insertSetElement</a>(newIndices, y);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;}</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#aa601d0785e68d2298567b2861996f956"> 120</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton3::predictAll</a>(</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; range activeRng)</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;{</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">auto</span> d_dy1= dy1_.deviceViewAll();</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="stringliteral">&quot;AdamsMoulton3::predict&quot;</span>,</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; d_dy0[i] = d_dy[i];</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; d_y[i] = d_y0[i] + dt*(<span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(3.0 / 2.0) * d_dy[i] - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.0 / 2.0) * d_dy1[i]);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; });</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;}</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a152b752a6b7b37e70fa5e7c99a484783"> 146</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton3::intAll</a>(</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; range activeRng)</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="stringliteral">&quot;AdamsMoulton3::correct&quot;</span>,</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">auto</span> corrct_y = d_y0[i] + dt*(</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(5.0/12.0)*d_dy[i] </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(8.0/12.0)*d_dy0[i] </div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.0/12.0)*d_dy1[i]);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; d_y[i] = corrct_y;</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; d_y0[i] = corrct_y;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; d_dy1[i]= d_dy0[i];</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; });</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="aAdamsMoulton3_8hpp_html"><div class="ttname"><a href="AdamsMoulton3_8hpp.html">AdamsMoulton3.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_ad0d8f6814b44931c5a758e93505e0a6e"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#ad0d8f6814b44931c5a758e93505e0a6e">pFlow::AdamsMoulton3::AdamsMoulton3</a></div><div class="ttdeci">AdamsMoulton3(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00026">AdamsMoulton3.cpp:26</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton3::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00146">AdamsMoulton3.cpp:146</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a477d522d35403bd985ae105bd759e9d1"><div class="ttname"><a href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">pFlow::zero3</a></div><div class="ttdeci">const realx3 zero3(0.0)</div><div class="ttdef"><b>Definition:</b> <a href="types_8hpp_source.html#l00137">types.hpp:137</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsMoulton3::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00056">AdamsMoulton3.hpp:56</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae97e2279d720194a68a594a3edbc6763"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae97e2279d720194a68a594a3edbc6763">pFlow::internalField::insertSetElement</a></div><div class="ttdeci">bool insertSetElement(uint32IndexContainer indices, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00181">internalField.hpp:181</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a16a2137651b2c6b8ea4a8daf1d89ff61"><div class="ttname"><a href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">pFlow::baseName</a></div><div class="ttdeci">word baseName(const word &amp;w, char sep='.')</div><div class="ttdoc">Find the base in a group separated by &quot;.&quot; and return it.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00185">bTypesFunctions.cpp:185</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton3::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00111">AdamsMoulton3.cpp:111</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1objectFile_html"><div class="ttname"><a href="classpFlow_1_1objectFile.html">pFlow::objectFile</a></div><div class="ttdef"><b>Definition:</b> <a href="objectFile_8hpp_source.html#l00030">objectFile.hpp:30</a></div></div>
<div class="ttc" id="asetPointStructure_8hpp_html_a385e32971df44b131e4498181a949a91"><div class="ttname"><a href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a></div><div class="ttdeci">auto &amp; pStruct</div><div class="ttdef"><b>Definition:</b> <a href="setPointStructure_8hpp_source.html#l00024">setPointStructure.hpp:24</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_aa601d0785e68d2298567b2861996f956"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton3::predictAll</a></div><div class="ttdeci">bool predictAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Prediction step on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00120">AdamsMoulton3.cpp:120</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a565b658e8641f9fd9a6a5c8e93089d5d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton3::predict</a></div><div class="ttdeci">bool predict(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00073">AdamsMoulton3.cpp:73</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a12b4d93aa9730629403d73e84386bff5"><div class="ttname"><a href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">pFlow::groupNames</a></div><div class="ttdeci">word groupNames(const word &amp;bw, const word &amp;tw, char sep='.')</div><div class="ttdoc">Group words and output bw.tw.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00179">bTypesFunctions.cpp:179</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a6c02e0d25a1b849255e67e72d1a9d026"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a6c02e0d25a1b849255e67e72d1a9d026">pFlow::AdamsMoulton3::y0_</a></div><div class="ttdeci">realx3PointField_D &amp; y0_</div><div class="ttdoc">y at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00043">AdamsMoulton3.hpp:43</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton3::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00093">AdamsMoulton3.cpp:93</a></div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_ed4d7dc116afda9346717c943a5846fb.html">AdamsMoulton3</a></li><li class="navelem"><a class="el" href="AdamsMoulton3_8cpp.html">AdamsMoulton3.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton3/AdamsMoulton3.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton3_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">AdamsMoulton3.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsMoulton3.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton3_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton3_2AdamsMoulton3_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton3_8hpp__dep__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton3_2AdamsMoulton3_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="AdamsMoulton3_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1AdamsMoulton3.html">AdamsMoulton3</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Third order Adams-Moulton integration method for solving ODE. <a href="classpFlow_1_1AdamsMoulton3.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_ed4d7dc116afda9346717c943a5846fb.html">AdamsMoulton3</a></li><li class="navelem"><a class="el" href="AdamsMoulton3_8hpp.html">AdamsMoulton3.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsMoulton3/AdamsMoulton3.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton3\l/AdamsMoulton3.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Integration/AdamsMoulton3\l/AdamsMoulton3.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$AdamsMoulton3_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,12 @@
digraph "src/Integration/AdamsMoulton3/AdamsMoulton3.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton3\l/AdamsMoulton3.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="integration.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$integration_8hpp.html",tooltip=" "];
Node2 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="pointFields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointFields_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,359 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton3/AdamsMoulton3.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton3_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton3.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsMoulton3_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __AdamsMoulton3_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __AdamsMoulton3_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="integration_8hpp.html">integration.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFields_8hpp.html">pointFields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html"> 36</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsMoulton3.html">AdamsMoulton3</a></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1integration.html">integration</a></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a6c02e0d25a1b849255e67e72d1a9d026"> 43</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a698a75833834ae70210d306e047cb196"> 46</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a698a75833834ae70210d306e047cb196">dy0_</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a46c37b69200a2f4faef9c149a25bab60"> 49</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a46c37b69200a2f4faef9c149a25bab60">dy1_</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> = Kokkos::RangePolicy&lt;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; Kokkos::Schedule&lt;Kokkos::Static&gt;,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; Kokkos::IndexType&lt;int32&gt;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f"> 56</a></span>&#160; &gt;;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a6cac55f7ea7995badad5929266adf2f0">TypeInfo</a>(<span class="stringliteral">&quot;AdamsMoulton3&quot;</span>);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// - Constructors</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ad0d8f6814b44931c5a758e93505e0a6e">AdamsMoulton3</a>(</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">baseName</a>,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">owner</a>,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>,</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">method</a>);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a29f8a3197295f0ffa73d24bbacc6228c"> 71</a></span>&#160; <a class="code" href="classpFlow_1_1uniquePtr.html">uniquePtr&lt;integration&gt;</a> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a29f8a3197295f0ffa73d24bbacc6228c">clone</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> makeUnique&lt;AdamsMoulton3&gt;(*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ad838a4787dffad965f30e939d10c4c57">~AdamsMoulton3</a>()=<span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a932382285aa9c91af3a87cabdde3b7d0">add_vCtor</a>(</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html">AdamsMoulton3</a>,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="comment">// - Methods</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a565b658e8641f9fd9a6a5c8e93089d5d">predict</a>(</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ac755e4bf02c3732d1eb89de9e903ebdb">correct</a>(</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a8da2088458d635dfa1fbe1823a3bfd6d">setInitialVals</a>(</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#aceb0c803bb6e5c46a1695c4e5b6e641f"> 102</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#aceb0c803bb6e5c46a1695c4e5b6e641f">needSetInitialVals</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#aa601d0785e68d2298567b2861996f956">predictAll</a>(</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; range activeRng);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#aaa8ac3ebc39d8702e08e1f71c5843974">predictRange</a>(</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; activeFunctor activeP);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a152b752a6b7b37e70fa5e7c99a484783">intAll</a>(</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; range activeRng);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a191dc9197b587f09bb5ee7989b0ba43e">intRange</a>(</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; activeFunctor activeP);</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;};</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#aaa8ac3ebc39d8702e08e1f71c5843974"> 141</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#aaa8ac3ebc39d8702e08e1f71c5843974">AdamsMoulton3::predictRange</a>(</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; activeFunctor activeP)</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> d_y0 = <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">auto</span> d_dy0 = <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a698a75833834ae70210d306e047cb196">dy0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">auto</span> d_dy1= <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a46c37b69200a2f4faef9c149a25bab60">dy1_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="stringliteral">&quot;AdamsMoulton3::predictRange&quot;</span>,</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">if</span>(activeP(i))</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; d_dy0[i] = d_dy[i];</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; d_y[i] = d_y0[i] + </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; dt*</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; (</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(3.0 / 2.0) * d_dy[i] </div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.0 / 2.0) * d_dy1[i]</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; );</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; });</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton3.html#a191dc9197b587f09bb5ee7989b0ba43e"> 178</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton3.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsMoulton3::intRange</a>(</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; activeFunctor activeP)</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;{</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="stringliteral">&quot;AdamsMoulton3::correct&quot;</span>,</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span>( activeP(i))</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keyword">auto</span> corrct_y = d_y0[i] + dt*(</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(5.0/12.0)*d_dy[i] </div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(8.0/12.0)*d_dy0[i] </div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(1.0/12.0)*d_dy1[i]);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; d_dy1[i]= d_dy0[i];</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; d_y0[i] = corrct_y;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; d_y[i] = corrct_y;</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; });</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;} <span class="comment">// pFlow</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="preprocessor">#endif //</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a6cac55f7ea7995badad5929266adf2f0"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a6cac55f7ea7995badad5929266adf2f0">pFlow::AdamsMoulton3::TypeInfo</a></div><div class="ttdeci">TypeInfo(&quot;AdamsMoulton3&quot;)</div><div class="ttdoc">Type info.</div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a932382285aa9c91af3a87cabdde3b7d0"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a932382285aa9c91af3a87cabdde3b7d0">pFlow::AdamsMoulton3::add_vCtor</a></div><div class="ttdeci">add_vCtor(integration, AdamsMoulton3, word)</div><div class="ttdoc">Add this to the virtual constructor table.</div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae49b1b421c0a7de757a2fdc46f163498"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">pFlow::internalField::deviceViewAll</a></div><div class="ttdeci">const auto &amp; deviceViewAll() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00092">internalField.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a5a622149e803f0fa292a95784c12a7b8"><div class="ttname"><a href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pFlow::integration::pStruct</a></div><div class="ttdeci">const auto &amp; pStruct() const</div><div class="ttdoc">Const ref to pointStructure.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00115">integration.hpp:115</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_ad0d8f6814b44931c5a758e93505e0a6e"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#ad0d8f6814b44931c5a758e93505e0a6e">pFlow::AdamsMoulton3::AdamsMoulton3</a></div><div class="ttdeci">AdamsMoulton3(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00026">AdamsMoulton3.cpp:26</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="apointFields_8hpp_html"><div class="ttname"><a href="pointFields_8hpp.html">pointFields.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton3::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00146">AdamsMoulton3.cpp:146</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsMoulton3::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00056">AdamsMoulton3.hpp:56</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a4e30df3927ef1cdd2490cd85018518f5"><div class="ttname"><a href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">pFlow::integration::baseName</a></div><div class="ttdeci">const word &amp; baseName() const</div><div class="ttdoc">Base name.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00122">integration.hpp:122</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_aaa8ac3ebc39d8702e08e1f71c5843974"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#aaa8ac3ebc39d8702e08e1f71c5843974">pFlow::AdamsMoulton3::predictRange</a></div><div class="ttdeci">bool predictRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Prediction step on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00141">AdamsMoulton3.hpp:141</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton3::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00111">AdamsMoulton3.cpp:111</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a698a75833834ae70210d306e047cb196"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a698a75833834ae70210d306e047cb196">pFlow::AdamsMoulton3::dy0_</a></div><div class="ttdeci">realx3PointField_D &amp; dy0_</div><div class="ttdoc">dy at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00046">AdamsMoulton3.hpp:46</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a29f8a3197295f0ffa73d24bbacc6228c"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a29f8a3197295f0ffa73d24bbacc6228c">pFlow::AdamsMoulton3::clone</a></div><div class="ttdeci">uniquePtr&lt; integration &gt; clone() const override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00071">AdamsMoulton3.hpp:71</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a10329e18307a60d3fdb203bcbed2b295"><div class="ttname"><a href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">pFlow::integration::owner</a></div><div class="ttdeci">repository &amp; owner()</div><div class="ttdoc">Ref to the owner repository.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00129">integration.hpp:129</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a191dc9197b587f09bb5ee7989b0ba43e"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsMoulton3::intRange</a></div><div class="ttdeci">bool intRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Integrate on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00178">AdamsMoulton3.hpp:178</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_aa601d0785e68d2298567b2861996f956"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton3::predictAll</a></div><div class="ttdeci">bool predictAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Prediction step on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00120">AdamsMoulton3.cpp:120</a></div></div>
<div class="ttc" id="aclasspFlow_1_1uniquePtr_html"><div class="ttname"><a href="classpFlow_1_1uniquePtr.html">pFlow::uniquePtr</a></div><div class="ttdef"><b>Definition:</b> <a href="uniquePtr_8hpp_source.html#l00042">uniquePtr.hpp:42</a></div></div>
<div class="ttc" id="aintegration_8hpp_html"><div class="ttname"><a href="integration_8hpp.html">integration.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a46c37b69200a2f4faef9c149a25bab60"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a46c37b69200a2f4faef9c149a25bab60">pFlow::AdamsMoulton3::dy1_</a></div><div class="ttdeci">realx3PointField_D &amp; dy1_</div><div class="ttdoc">dy at time t-dt</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00049">AdamsMoulton3.hpp:49</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a565b658e8641f9fd9a6a5c8e93089d5d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton3::predict</a></div><div class="ttdeci">bool predict(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00073">AdamsMoulton3.cpp:73</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_a6c02e0d25a1b849255e67e72d1a9d026"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#a6c02e0d25a1b849255e67e72d1a9d026">pFlow::AdamsMoulton3::y0_</a></div><div class="ttdeci">realx3PointField_D &amp; y0_</div><div class="ttdoc">y at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00043">AdamsMoulton3.hpp:43</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton3::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8cpp_source.html#l00093">AdamsMoulton3.cpp:93</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_ad838a4787dffad965f30e939d10c4c57"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#ad838a4787dffad965f30e939d10c4c57">pFlow::AdamsMoulton3::~AdamsMoulton3</a></div><div class="ttdeci">virtual ~AdamsMoulton3()=default</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a05cf94b87db6b7d4b9c2d2eb81592cf3"><div class="ttname"><a href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">pFlow::integration::method</a></div><div class="ttdeci">virtual word method() const =0</div><div class="ttdoc">return integration method</div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html">pFlow::AdamsMoulton3</a></div><div class="ttdoc">Third order Adams-Moulton integration method for solving ODE.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00036">AdamsMoulton3.hpp:36</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton3_html_aceb0c803bb6e5c46a1695c4e5b6e641f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton3.html#aceb0c803bb6e5c46a1695c4e5b6e641f">pFlow::AdamsMoulton3::needSetInitialVals</a></div><div class="ttdeci">bool needSetInitialVals() const override</div><div class="ttdoc">Check if the method requires any set initial vals.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton3_8hpp_source.html#l00102">AdamsMoulton3.hpp:102</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_ed4d7dc116afda9346717c943a5846fb.html">AdamsMoulton3</a></li><li class="navelem"><a class="el" href="AdamsMoulton3_8hpp.html">AdamsMoulton3.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton4/AdamsMoulton4.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton4_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton4.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsMoulton4.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton4_8cpp__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton4_2AdamsMoulton4_8cpp" alt=""/></div>
</div>
</div>
<p><a href="AdamsMoulton4_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_43495b2651badf01027c38c791c49779.html">AdamsMoulton4</a></li><li class="navelem"><a class="el" href="AdamsMoulton4_8cpp.html">AdamsMoulton4.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsMoulton4/AdamsMoulton4.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton4\l/AdamsMoulton4.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="AdamsMoulton4.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$AdamsMoulton4_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,340 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton4/AdamsMoulton4.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton4_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton4.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsMoulton4_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AdamsMoulton4_8hpp.html">AdamsMoulton4.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">//const real AB2_coef[] = { 3.0 / 2.0, 1.0 / 2.0};</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<a class="code" href="classpFlow_1_1AdamsMoulton4.html#a34d4c804534cb2f04fc68174b7282653">pFlow::AdamsMoulton4::AdamsMoulton4</a></div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a34d4c804534cb2f04fc68174b7282653"> 26</a></span>&#160;(</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; owner,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; method</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;:</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>, owner, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method),</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; y0_(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;y0&quot;</span>),</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>,</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keyword">false</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; )</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; ),</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; dy0_(</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy0&quot;</span>),</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; )</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; ),</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; dy1_(</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy1&quot;</span>),</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; )</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; ),</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; dy2_(</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy2&quot;</span>),</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; )</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; )</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;}</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton4::predict</a></div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a565b658e8641f9fd9a6a5c8e93089d5d"> 84</a></span>&#160;(</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;)</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> predictAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> predictRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton4::correct</a></div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#ac755e4bf02c3732d1eb89de9e903ebdb"> 104</a></span>&#160;(</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;{</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> intAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> intRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;}</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a8da2088458d635dfa1fbe1823a3bfd6d"> 122</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton4::setInitialVals</a>(</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y)</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;{</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae97e2279d720194a68a594a3edbc6763">insertSetElement</a>(newIndices, y);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;}</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#aa601d0785e68d2298567b2861996f956"> 131</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton4::predictAll</a>(</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; range activeRng)</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;{</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">auto</span> d_dy2 = dy2_.deviceViewAll();</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="stringliteral">&quot;AdamsMoulton4::predict&quot;</span>,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; d_dy0[i] = d_dy[i];</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; d_y[i] = d_y0[i] + dt*(</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(23.0 /12.0 ) * d_dy[i] </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(16.0 / 12.0) * d_dy1[i]</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 5.0 / 12.0) * d_dy2[i]);</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; });</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;}</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a152b752a6b7b37e70fa5e7c99a484783"> 161</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton4::intAll</a>(</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; range activeRng)</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keyword">auto</span> d_dy2 = dy2_.deviceViewAll();</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="stringliteral">&quot;AdamsMoulton4::correct&quot;</span>,</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">auto</span> corrct_y = d_y0[i] + dt*(</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(9.0/24.0)*d_dy[i] </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(19.0/24.0)*d_dy0[i] </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 5.0/24.0)*d_dy1[i]</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 1.0/24.0)*d_dy2[i]);</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; d_dy2[i]= d_dy1[i];</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; d_dy1[i]= d_dy0[i];</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; d_y0[i] = corrct_y;</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; d_y[i] = corrct_y;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; });</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a34d4c804534cb2f04fc68174b7282653"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a34d4c804534cb2f04fc68174b7282653">pFlow::AdamsMoulton4::AdamsMoulton4</a></div><div class="ttdeci">AdamsMoulton4(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00026">AdamsMoulton4.cpp:26</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a6c02e0d25a1b849255e67e72d1a9d026"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a6c02e0d25a1b849255e67e72d1a9d026">pFlow::AdamsMoulton4::y0_</a></div><div class="ttdeci">realx3PointField_D &amp; y0_</div><div class="ttdoc">y at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00043">AdamsMoulton4.hpp:43</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton4::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00104">AdamsMoulton4.cpp:104</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a565b658e8641f9fd9a6a5c8e93089d5d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton4::predict</a></div><div class="ttdeci">bool predict(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00084">AdamsMoulton4.cpp:84</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a477d522d35403bd985ae105bd759e9d1"><div class="ttname"><a href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">pFlow::zero3</a></div><div class="ttdeci">const realx3 zero3(0.0)</div><div class="ttdef"><b>Definition:</b> <a href="types_8hpp_source.html#l00137">types.hpp:137</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton4::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00122">AdamsMoulton4.cpp:122</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae97e2279d720194a68a594a3edbc6763"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae97e2279d720194a68a594a3edbc6763">pFlow::internalField::insertSetElement</a></div><div class="ttdeci">bool insertSetElement(uint32IndexContainer indices, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00181">internalField.hpp:181</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a16a2137651b2c6b8ea4a8daf1d89ff61"><div class="ttname"><a href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">pFlow::baseName</a></div><div class="ttdeci">word baseName(const word &amp;w, char sep='.')</div><div class="ttdoc">Find the base in a group separated by &quot;.&quot; and return it.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00185">bTypesFunctions.cpp:185</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aAdamsMoulton4_8hpp_html"><div class="ttname"><a href="AdamsMoulton4_8hpp.html">AdamsMoulton4.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsMoulton4::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00059">AdamsMoulton4.hpp:59</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1objectFile_html"><div class="ttname"><a href="classpFlow_1_1objectFile.html">pFlow::objectFile</a></div><div class="ttdef"><b>Definition:</b> <a href="objectFile_8hpp_source.html#l00030">objectFile.hpp:30</a></div></div>
<div class="ttc" id="asetPointStructure_8hpp_html_a385e32971df44b131e4498181a949a91"><div class="ttname"><a href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a></div><div class="ttdeci">auto &amp; pStruct</div><div class="ttdef"><b>Definition:</b> <a href="setPointStructure_8hpp_source.html#l00024">setPointStructure.hpp:24</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_aa601d0785e68d2298567b2861996f956"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton4::predictAll</a></div><div class="ttdeci">bool predictAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Prediction step on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00131">AdamsMoulton4.cpp:131</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a12b4d93aa9730629403d73e84386bff5"><div class="ttname"><a href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">pFlow::groupNames</a></div><div class="ttdeci">word groupNames(const word &amp;bw, const word &amp;tw, char sep='.')</div><div class="ttdoc">Group words and output bw.tw.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00179">bTypesFunctions.cpp:179</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton4::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00161">AdamsMoulton4.cpp:161</a></div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_43495b2651badf01027c38c791c49779.html">AdamsMoulton4</a></li><li class="navelem"><a class="el" href="AdamsMoulton4_8cpp.html">AdamsMoulton4.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton4/AdamsMoulton4.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton4_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">AdamsMoulton4.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsMoulton4.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton4_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton4_2AdamsMoulton4_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton4_8hpp__dep__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton4_2AdamsMoulton4_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="AdamsMoulton4_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1AdamsMoulton4.html">AdamsMoulton4</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fourth order Adams-Moulton integration method for solving ODE. <a href="classpFlow_1_1AdamsMoulton4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_43495b2651badf01027c38c791c49779.html">AdamsMoulton4</a></li><li class="navelem"><a class="el" href="AdamsMoulton4_8hpp.html">AdamsMoulton4.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsMoulton4/AdamsMoulton4.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton4\l/AdamsMoulton4.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Integration/AdamsMoulton4\l/AdamsMoulton4.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$AdamsMoulton4_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,12 @@
digraph "src/Integration/AdamsMoulton4/AdamsMoulton4.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton4\l/AdamsMoulton4.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="integration.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$integration_8hpp.html",tooltip=" "];
Node2 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="pointFields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointFields_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,367 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton4/AdamsMoulton4.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton4_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton4.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsMoulton4_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __AdamsMoulton4_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __AdamsMoulton4_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="integration_8hpp.html">integration.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFields_8hpp.html">pointFields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html"> 36</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsMoulton4.html">AdamsMoulton4</a></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1integration.html">integration</a></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a6c02e0d25a1b849255e67e72d1a9d026"> 43</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a698a75833834ae70210d306e047cb196"> 46</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a698a75833834ae70210d306e047cb196">dy0_</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a46c37b69200a2f4faef9c149a25bab60"> 49</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a46c37b69200a2f4faef9c149a25bab60">dy1_</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a09e936a903a062f6d1d045eb4fdbd8a5"> 52</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a09e936a903a062f6d1d045eb4fdbd8a5">dy2_</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> = Kokkos::RangePolicy&lt;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; Kokkos::Schedule&lt;Kokkos::Static&gt;,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; Kokkos::IndexType&lt;int32&gt;</div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f"> 59</a></span>&#160; &gt;;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#aa27f90dad5682f0c6030f30fdf4883ef">TypeInfo</a>(<span class="stringliteral">&quot;AdamsMoulton4&quot;</span>);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// - Constructors</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a34d4c804534cb2f04fc68174b7282653">AdamsMoulton4</a>(</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">baseName</a>,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">owner</a>,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">method</a>);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a29f8a3197295f0ffa73d24bbacc6228c"> 74</a></span>&#160; <a class="code" href="classpFlow_1_1uniquePtr.html">uniquePtr&lt;integration&gt;</a> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a29f8a3197295f0ffa73d24bbacc6228c">clone</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> makeUnique&lt;AdamsMoulton4&gt;(*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a80fc8a7c8acde6389ab03a63d2c7ec9b">~AdamsMoulton4</a>()=<span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="comment">// Add this to the virtual constructor table </span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#aa46de8b6c155f9145790ef1434c6da09">add_vCtor</a>(</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html">AdamsMoulton4</a>,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// - Methods</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a565b658e8641f9fd9a6a5c8e93089d5d">predict</a>(</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#ac755e4bf02c3732d1eb89de9e903ebdb">correct</a>(</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a8da2088458d635dfa1fbe1823a3bfd6d">setInitialVals</a>(</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#aceb0c803bb6e5c46a1695c4e5b6e641f"> 105</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#aceb0c803bb6e5c46a1695c4e5b6e641f">needSetInitialVals</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#aa601d0785e68d2298567b2861996f956">predictAll</a>(</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; range activeRng);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#aaa8ac3ebc39d8702e08e1f71c5843974">predictRange</a>(</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; activeFunctor activeP);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a152b752a6b7b37e70fa5e7c99a484783">intAll</a>(</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; range activeRng);</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a191dc9197b587f09bb5ee7989b0ba43e">intRange</a>(</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; activeFunctor activeP );</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;};</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#aaa8ac3ebc39d8702e08e1f71c5843974"> 144</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#aaa8ac3ebc39d8702e08e1f71c5843974">AdamsMoulton4::predictRange</a>(</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; activeFunctor activeP )</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;{</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; </div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">auto</span> d_y0 = <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">auto</span> d_dy0 = <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a698a75833834ae70210d306e047cb196">dy0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">auto</span> d_dy1 = <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a46c37b69200a2f4faef9c149a25bab60">dy1_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">auto</span> d_dy2 = <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a09e936a903a062f6d1d045eb4fdbd8a5">dy2_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="stringliteral">&quot;AdamsMoulton4::predictRange&quot;</span>,</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">if</span>(activeP(i))</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; d_dy0[i] = d_dy[i];</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; d_y[i] = d_y0[i] + dt*(</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(23.0 /12.0 ) * d_dy[i] </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(16.0 / 12.0) * d_dy1[i]</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 5.0 / 12.0) * d_dy2[i]);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; });</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;}</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton4.html#a191dc9197b587f09bb5ee7989b0ba43e"> 181</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton4.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsMoulton4::intRange</a>(</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; activeFunctor activeP )</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;{</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; </div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">auto</span> d_dy2 = dy2_.deviceViewAll();</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="stringliteral">&quot;AdamsMoulton4::correct&quot;</span>,</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span>( activeP(i))</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; {</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keyword">auto</span> corrct_y = d_y0[i] + dt*(</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(9.0/24.0)*d_dy[i] </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(19.0/24.0)*d_dy0[i] </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 5.0/24.0)*d_dy1[i]</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 1.0/24.0)*d_dy2[i]);</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; d_dy2[i]= d_dy1[i];</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; d_dy1[i]= d_dy0[i];</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; d_y0[i] = corrct_y;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; d_y[i] = corrct_y;</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; });</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;}</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;} <span class="comment">// pFlow</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; </div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="preprocessor">#endif //</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a34d4c804534cb2f04fc68174b7282653"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a34d4c804534cb2f04fc68174b7282653">pFlow::AdamsMoulton4::AdamsMoulton4</a></div><div class="ttdeci">AdamsMoulton4(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00026">AdamsMoulton4.cpp:26</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a80fc8a7c8acde6389ab03a63d2c7ec9b"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a80fc8a7c8acde6389ab03a63d2c7ec9b">pFlow::AdamsMoulton4::~AdamsMoulton4</a></div><div class="ttdeci">virtual ~AdamsMoulton4()=default</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_aceb0c803bb6e5c46a1695c4e5b6e641f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#aceb0c803bb6e5c46a1695c4e5b6e641f">pFlow::AdamsMoulton4::needSetInitialVals</a></div><div class="ttdeci">bool needSetInitialVals() const override</div><div class="ttdoc">Check if the method requires any set initial vals.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00105">AdamsMoulton4.hpp:105</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a698a75833834ae70210d306e047cb196"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a698a75833834ae70210d306e047cb196">pFlow::AdamsMoulton4::dy0_</a></div><div class="ttdeci">realx3PointField_D &amp; dy0_</div><div class="ttdoc">dy at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00046">AdamsMoulton4.hpp:46</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html">pFlow::AdamsMoulton4</a></div><div class="ttdoc">Fourth order Adams-Moulton integration method for solving ODE.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00036">AdamsMoulton4.hpp:36</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a46c37b69200a2f4faef9c149a25bab60"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a46c37b69200a2f4faef9c149a25bab60">pFlow::AdamsMoulton4::dy1_</a></div><div class="ttdeci">realx3PointField_D &amp; dy1_</div><div class="ttdoc">dy at time t-dt</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00049">AdamsMoulton4.hpp:49</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a09e936a903a062f6d1d045eb4fdbd8a5"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a09e936a903a062f6d1d045eb4fdbd8a5">pFlow::AdamsMoulton4::dy2_</a></div><div class="ttdeci">realx3PointField_D &amp; dy2_</div><div class="ttdoc">dy at time t-2*dt</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00052">AdamsMoulton4.hpp:52</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae49b1b421c0a7de757a2fdc46f163498"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">pFlow::internalField::deviceViewAll</a></div><div class="ttdeci">const auto &amp; deviceViewAll() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00092">internalField.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a6c02e0d25a1b849255e67e72d1a9d026"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a6c02e0d25a1b849255e67e72d1a9d026">pFlow::AdamsMoulton4::y0_</a></div><div class="ttdeci">realx3PointField_D &amp; y0_</div><div class="ttdoc">y at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00043">AdamsMoulton4.hpp:43</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a5a622149e803f0fa292a95784c12a7b8"><div class="ttname"><a href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pFlow::integration::pStruct</a></div><div class="ttdeci">const auto &amp; pStruct() const</div><div class="ttdoc">Const ref to pointStructure.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00115">integration.hpp:115</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton4::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00104">AdamsMoulton4.cpp:104</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="apointFields_8hpp_html"><div class="ttname"><a href="pointFields_8hpp.html">pointFields.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a565b658e8641f9fd9a6a5c8e93089d5d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton4::predict</a></div><div class="ttdeci">bool predict(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00084">AdamsMoulton4.cpp:84</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a191dc9197b587f09bb5ee7989b0ba43e"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsMoulton4::intRange</a></div><div class="ttdeci">bool intRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Integrate on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00181">AdamsMoulton4.hpp:181</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a4e30df3927ef1cdd2490cd85018518f5"><div class="ttname"><a href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">pFlow::integration::baseName</a></div><div class="ttdeci">const word &amp; baseName() const</div><div class="ttdoc">Base name.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00122">integration.hpp:122</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton4::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00122">AdamsMoulton4.cpp:122</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsMoulton4::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00059">AdamsMoulton4.hpp:59</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_aa46de8b6c155f9145790ef1434c6da09"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#aa46de8b6c155f9145790ef1434c6da09">pFlow::AdamsMoulton4::add_vCtor</a></div><div class="ttdeci">add_vCtor(integration, AdamsMoulton4, word)</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_aaa8ac3ebc39d8702e08e1f71c5843974"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#aaa8ac3ebc39d8702e08e1f71c5843974">pFlow::AdamsMoulton4::predictRange</a></div><div class="ttdeci">bool predictRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Prediction step on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00144">AdamsMoulton4.hpp:144</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a10329e18307a60d3fdb203bcbed2b295"><div class="ttname"><a href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">pFlow::integration::owner</a></div><div class="ttdeci">repository &amp; owner()</div><div class="ttdoc">Ref to the owner repository.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00129">integration.hpp:129</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_aa601d0785e68d2298567b2861996f956"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton4::predictAll</a></div><div class="ttdeci">bool predictAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Prediction step on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00131">AdamsMoulton4.cpp:131</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_aa27f90dad5682f0c6030f30fdf4883ef"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#aa27f90dad5682f0c6030f30fdf4883ef">pFlow::AdamsMoulton4::TypeInfo</a></div><div class="ttdeci">TypeInfo(&quot;AdamsMoulton4&quot;)</div><div class="ttdoc">Type info.</div></div>
<div class="ttc" id="aclasspFlow_1_1uniquePtr_html"><div class="ttname"><a href="classpFlow_1_1uniquePtr.html">pFlow::uniquePtr</a></div><div class="ttdef"><b>Definition:</b> <a href="uniquePtr_8hpp_source.html#l00042">uniquePtr.hpp:42</a></div></div>
<div class="ttc" id="aintegration_8hpp_html"><div class="ttname"><a href="integration_8hpp.html">integration.hpp</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton4::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8cpp_source.html#l00161">AdamsMoulton4.cpp:161</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a05cf94b87db6b7d4b9c2d2eb81592cf3"><div class="ttname"><a href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">pFlow::integration::method</a></div><div class="ttdeci">virtual word method() const =0</div><div class="ttdoc">return integration method</div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton4_html_a29f8a3197295f0ffa73d24bbacc6228c"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton4.html#a29f8a3197295f0ffa73d24bbacc6228c">pFlow::AdamsMoulton4::clone</a></div><div class="ttdeci">uniquePtr&lt; integration &gt; clone() const override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton4_8hpp_source.html#l00074">AdamsMoulton4.hpp:74</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_43495b2651badf01027c38c791c49779.html">AdamsMoulton4</a></li><li class="navelem"><a class="el" href="AdamsMoulton4_8hpp.html">AdamsMoulton4.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton5/AdamsMoulton5.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton5_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton5.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsMoulton5.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton5_8cpp__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton5_2AdamsMoulton5_8cpp" alt=""/></div>
</div>
</div>
<p><a href="AdamsMoulton5_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_5dff251c44f5003b2e670500c74e030b.html">AdamsMoulton5</a></li><li class="navelem"><a class="el" href="AdamsMoulton5_8cpp.html">AdamsMoulton5.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsMoulton5/AdamsMoulton5.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton5\l/AdamsMoulton5.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="AdamsMoulton5.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$AdamsMoulton5_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,358 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton5/AdamsMoulton5.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton5_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton5.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsMoulton5_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="AdamsMoulton5_8hpp.html">AdamsMoulton5.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<a class="code" href="classpFlow_1_1AdamsMoulton5.html#a84c490b65587b21f5666766e94a945bc">pFlow::AdamsMoulton5::AdamsMoulton5</a></div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a84c490b65587b21f5666766e94a945bc"> 25</a></span>&#160;(</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; owner,</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; method</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;)</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;:</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>, owner, <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>, method),</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; y0_(</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;y0&quot;</span>),</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keyword">false</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; )</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; ),</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; dy0_(</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy0&quot;</span>),</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; )</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; ),</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; dy1_(</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy1&quot;</span>),</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; )</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; ),</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; dy2_(</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy2&quot;</span>),</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; )</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; ),</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; dy3_(</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; owner.emplaceObject&lt;<a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&gt;(</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classpFlow_1_1objectFile.html">objectFile</a>(</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">groupNames</a>(<a class="code" href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">baseName</a>,<span class="stringliteral">&quot;dy3&quot;</span>),</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="stringliteral">&quot;&quot;</span>,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; objectFile::READ_IF_PRESENT,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; objectFile::WRITE_ALWAYS),</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>,</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">zero3</a></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; )</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; )</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;{</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton5::predict</a></div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a565b658e8641f9fd9a6a5c8e93089d5d"> 94</a></span>&#160;(</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;)</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;{</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> predictAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> predictRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;}</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton5::correct</a></div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#ac755e4bf02c3732d1eb89de9e903ebdb"> 114</a></span>&#160;(</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;)</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;{</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span>(this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().allActive())</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> intAll(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activeRange());</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> intRange(dt, y, dy, this-&gt;<a class="code" href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a>().activePointsMaskD());</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a8da2088458d635dfa1fbe1823a3bfd6d"> 132</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton5::setInitialVals</a>(</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y)</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;{</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae97e2279d720194a68a594a3edbc6763">insertSetElement</a>(newIndices, y);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;}</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#aa601d0785e68d2298567b2861996f956"> 141</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton5::predictAll</a>(</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; range activeRng)</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;{</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">auto</span> d_dy2 = dy2_.deviceViewAll();</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keyword">auto</span> d_dy3 = dy3_.deviceViewAll();</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="stringliteral">&quot;AdamsMoulton5::predict&quot;</span>,</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; d_dy0[i] = d_dy[i];</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; d_y[i] = d_y0[i] + dt*(</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(55.0/24.0) * d_dy[i] </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(59.0/24.0) * d_dy1[i]</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(37.0/24.0) * d_dy2[i]</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 9.0/24.0) * d_dy3[i]);</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; });</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a152b752a6b7b37e70fa5e7c99a484783"> 174</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton5::intAll</a>(</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; range activeRng)</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;{</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keyword">auto</span> d_dy2 = dy2_.deviceViewAll();</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keyword">auto</span> d_dy3 = dy3_.deviceViewAll();</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; </div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="stringliteral">&quot;AdamsMoulton5::correct&quot;</span>,</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">auto</span> corrct_y = d_y0[i] + dt*(</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(251.0/720.0)*d_dy[i] </div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(646.0/720.0)*d_dy0[i] </div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(264.0/720.0)*d_dy1[i]</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(106.0/720.0)*d_dy2[i]</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 19.0/720.0)*d_dy3[i]);</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; d_dy3[i]= d_dy2[i];</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; d_dy2[i]= d_dy1[i];</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; d_dy1[i]= d_dy0[i];</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; d_y0[i] = corrct_y;</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; d_y[i] = corrct_y;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; });</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;}</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton5::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00132">AdamsMoulton5.cpp:132</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsMoulton5::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00062">AdamsMoulton5.hpp:62</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton5::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00174">AdamsMoulton5.cpp:174</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a477d522d35403bd985ae105bd759e9d1"><div class="ttname"><a href="namespacepFlow.html#a477d522d35403bd985ae105bd759e9d1">pFlow::zero3</a></div><div class="ttdeci">const realx3 zero3(0.0)</div><div class="ttdef"><b>Definition:</b> <a href="types_8hpp_source.html#l00137">types.hpp:137</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_aa601d0785e68d2298567b2861996f956"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton5::predictAll</a></div><div class="ttdeci">bool predictAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Prediction step on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00141">AdamsMoulton5.cpp:141</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae97e2279d720194a68a594a3edbc6763"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae97e2279d720194a68a594a3edbc6763">pFlow::internalField::insertSetElement</a></div><div class="ttdeci">bool insertSetElement(uint32IndexContainer indices, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00181">internalField.hpp:181</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a16a2137651b2c6b8ea4a8daf1d89ff61"><div class="ttname"><a href="namespacepFlow.html#a16a2137651b2c6b8ea4a8daf1d89ff61">pFlow::baseName</a></div><div class="ttdeci">word baseName(const word &amp;w, char sep='.')</div><div class="ttdoc">Find the base in a group separated by &quot;.&quot; and return it.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00185">bTypesFunctions.cpp:185</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a6c02e0d25a1b849255e67e72d1a9d026"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a6c02e0d25a1b849255e67e72d1a9d026">pFlow::AdamsMoulton5::y0_</a></div><div class="ttdeci">realx3PointField_D &amp; y0_</div><div class="ttdoc">y at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00043">AdamsMoulton5.hpp:43</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton5::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00114">AdamsMoulton5.cpp:114</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a84c490b65587b21f5666766e94a945bc"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a84c490b65587b21f5666766e94a945bc">pFlow::AdamsMoulton5::AdamsMoulton5</a></div><div class="ttdeci">AdamsMoulton5(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00025">AdamsMoulton5.cpp:25</a></div></div>
<div class="ttc" id="aclasspFlow_1_1objectFile_html"><div class="ttname"><a href="classpFlow_1_1objectFile.html">pFlow::objectFile</a></div><div class="ttdef"><b>Definition:</b> <a href="objectFile_8hpp_source.html#l00030">objectFile.hpp:30</a></div></div>
<div class="ttc" id="asetPointStructure_8hpp_html_a385e32971df44b131e4498181a949a91"><div class="ttname"><a href="setPointStructure_8hpp.html#a385e32971df44b131e4498181a949a91">pStruct</a></div><div class="ttdeci">auto &amp; pStruct</div><div class="ttdef"><b>Definition:</b> <a href="setPointStructure_8hpp_source.html#l00024">setPointStructure.hpp:24</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a565b658e8641f9fd9a6a5c8e93089d5d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton5::predict</a></div><div class="ttdeci">bool predict(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00094">AdamsMoulton5.cpp:94</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a12b4d93aa9730629403d73e84386bff5"><div class="ttname"><a href="namespacepFlow.html#a12b4d93aa9730629403d73e84386bff5">pFlow::groupNames</a></div><div class="ttdeci">word groupNames(const word &amp;bw, const word &amp;tw, char sep='.')</div><div class="ttdoc">Group words and output bw.tw.</div><div class="ttdef"><b>Definition:</b> <a href="bTypesFunctions_8cpp_source.html#l00179">bTypesFunctions.cpp:179</a></div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aAdamsMoulton5_8hpp_html"><div class="ttname"><a href="AdamsMoulton5_8hpp.html">AdamsMoulton5.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_5dff251c44f5003b2e670500c74e030b.html">AdamsMoulton5</a></li><li class="navelem"><a class="el" href="AdamsMoulton5_8cpp.html">AdamsMoulton5.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton5/AdamsMoulton5.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton5_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">AdamsMoulton5.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for AdamsMoulton5.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton5_8hpp__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton5_2AdamsMoulton5_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="AdamsMoulton5_8hpp__dep__incl.png" border="0" usemap="#src_2Integration_2AdamsMoulton5_2AdamsMoulton5_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="AdamsMoulton5_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1AdamsMoulton5.html">AdamsMoulton5</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fifth order Adams-Moulton integration method for solving ODE. <a href="classpFlow_1_1AdamsMoulton5.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_5dff251c44f5003b2e670500c74e030b.html">AdamsMoulton5</a></li><li class="navelem"><a class="el" href="AdamsMoulton5_8hpp.html">AdamsMoulton5.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Integration/AdamsMoulton5/AdamsMoulton5.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton5\l/AdamsMoulton5.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Integration/AdamsMoulton5\l/AdamsMoulton5.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$AdamsMoulton5_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,12 @@
digraph "src/Integration/AdamsMoulton5/AdamsMoulton5.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Integration/AdamsMoulton5\l/AdamsMoulton5.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="integration.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$integration_8hpp.html",tooltip=" "];
Node2 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="pointFields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$pointFields_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,374 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Integration/AdamsMoulton5/AdamsMoulton5.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('AdamsMoulton5_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">AdamsMoulton5.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="AdamsMoulton5_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __AdamsMoulton5_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __AdamsMoulton5_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="integration_8hpp.html">integration.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="pointFields_8hpp.html">pointFields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;{</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html"> 36</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1AdamsMoulton5.html">AdamsMoulton5</a></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1integration.html">integration</a></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">protected</span>:</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a6c02e0d25a1b849255e67e72d1a9d026"> 43</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a698a75833834ae70210d306e047cb196"> 46</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a698a75833834ae70210d306e047cb196">dy0_</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a46c37b69200a2f4faef9c149a25bab60"> 49</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a46c37b69200a2f4faef9c149a25bab60">dy1_</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a09e936a903a062f6d1d045eb4fdbd8a5"> 52</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a09e936a903a062f6d1d045eb4fdbd8a5">dy2_</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a79d535ef8716acc040282ffd37196ac6"> 55</a></span>&#160; <a class="code" href="classpFlow_1_1pointField.html">realx3PointField_D</a>&amp; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a79d535ef8716acc040282ffd37196ac6">dy3_</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> = Kokkos::RangePolicy&lt;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; Kokkos::Schedule&lt;Kokkos::Static&gt;,</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; Kokkos::IndexType&lt;int32&gt;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f"> 62</a></span>&#160; &gt;;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a93700041b6e609e429801e569f554e4c">TypeInfo</a>(<span class="stringliteral">&quot;AdamsMoulton5&quot;</span>);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// - Constructors</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a84c490b65587b21f5666766e94a945bc">AdamsMoulton5</a>(</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">baseName</a>,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classpFlow_1_1repository.html">repository</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">owner</a>,</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1pointStructure.html">pointStructure</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pStruct</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">method</a>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a29f8a3197295f0ffa73d24bbacc6228c"> 77</a></span>&#160; <a class="code" href="classpFlow_1_1uniquePtr.html">uniquePtr&lt;integration&gt;</a> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a29f8a3197295f0ffa73d24bbacc6228c">clone</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> makeUnique&lt;AdamsMoulton5&gt;(*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a205b69055b5aebe5b9c924e435365169">~AdamsMoulton5</a>()=<span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="comment">// - add a virtual constructor </span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#aa18e539a33004e6d10e69a19ef0c5ddb">add_vCtor</a>(</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classpFlow_1_1integration.html">integration</a>,</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html">AdamsMoulton5</a>,</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// - Methods</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a565b658e8641f9fd9a6a5c8e93089d5d">predict</a>(</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#ac755e4bf02c3732d1eb89de9e903ebdb">correct</a>(</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a8da2088458d635dfa1fbe1823a3bfd6d">setInitialVals</a>(</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1indexContainer.html">int32IndexContainer</a>&amp; newIndices,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">realx3Vector</a>&amp; y) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#aceb0c803bb6e5c46a1695c4e5b6e641f"> 108</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#aceb0c803bb6e5c46a1695c4e5b6e641f">needSetInitialVals</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#aa601d0785e68d2298567b2861996f956">predictAll</a>(</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; range activeRng);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#aaa8ac3ebc39d8702e08e1f71c5843974">predictRange</a>(</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; activeFunctor activeP);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a152b752a6b7b37e70fa5e7c99a484783">intAll</a>(</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; range activeRng);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a191dc9197b587f09bb5ee7989b0ba43e">intRange</a>(</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y, </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy, </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; activeFunctor activeP );</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;};</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#aaa8ac3ebc39d8702e08e1f71c5843974"> 147</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#aaa8ac3ebc39d8702e08e1f71c5843974">AdamsMoulton5::predictRange</a>(</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; activeFunctor activeP )</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;{</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">auto</span> d_y0 = <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a6c02e0d25a1b849255e67e72d1a9d026">y0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">auto</span> d_dy0 = <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a698a75833834ae70210d306e047cb196">dy0_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">auto</span> d_dy1 = <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a46c37b69200a2f4faef9c149a25bab60">dy1_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">auto</span> d_dy2 = <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a09e936a903a062f6d1d045eb4fdbd8a5">dy2_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">auto</span> d_dy3 = <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a79d535ef8716acc040282ffd37196ac6">dy3_</a>.<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="stringliteral">&quot;AdamsMoulton5::predictRange&quot;</span>,</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span>(activeP(i))</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; d_dy0[i] = d_dy[i];</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; d_y[i] = d_y0[i] + dt*(</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(55.0/24.0) * d_dy[i] </div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(59.0/24.0) * d_dy1[i]</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(37.0/24.0) * d_dy2[i]</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 9.0/24.0) * d_dy3[i]);</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; });</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;}</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> activeFunctor&gt;</div>
<div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classpFlow_1_1AdamsMoulton5.html#a191dc9197b587f09bb5ee7989b0ba43e"> 185</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1AdamsMoulton5.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsMoulton5::intRange</a>(</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> dt, </div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; y,</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">realx3Vector_D</a>&amp; dy,</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; activeFunctor activeP )</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">auto</span> d_dy = dy.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keyword">auto</span> d_y = y.<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">auto</span> d_dy0 = dy0_.deviceViewAll();</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">auto</span> d_y0 = y0_.deviceViewAll();</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">auto</span> d_dy1 = dy1_.deviceViewAll();</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keyword">auto</span> d_dy2 = dy2_.deviceViewAll();</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">auto</span> d_dy3 = dy3_.deviceViewAll();</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keyword">auto</span> activeRng = activeP.activeRange();</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; Kokkos::parallel_for(</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="stringliteral">&quot;AdamsMoulton5::correct&quot;</span>,</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f">rpIntegration</a> (activeRng.first, activeRng.second),</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a>(<a class="code" href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">int32</a> i){</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span>( activeP(i))</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keyword">auto</span> corrct_y = d_y0[i] + dt*(</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(251.0/720.0)*d_dy[i] </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(646.0/720.0)*d_dy0[i] </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(264.0/720.0)*d_dy1[i]</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; + <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>(106.0/720.0)*d_dy2[i]</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; - <span class="keyword">static_cast&lt;</span><a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a><span class="keyword">&gt;</span>( 19.0/720.0)*d_dy3[i]);</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; </div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; d_dy3[i]= d_dy2[i];</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; d_dy2[i]= d_dy1[i];</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; d_dy1[i]= d_dy0[i];</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; d_y0[i] = corrct_y;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; d_y[i] = corrct_y;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; });</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; Kokkos::fence();</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;}</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;} <span class="comment">// pFlow</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="preprocessor">#endif //__integration_hpp__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a8da2088458d635dfa1fbe1823a3bfd6d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a8da2088458d635dfa1fbe1823a3bfd6d">pFlow::AdamsMoulton5::setInitialVals</a></div><div class="ttdeci">bool setInitialVals(const int32IndexContainer &amp;newIndices, const realx3Vector &amp;y) override</div><div class="ttdoc">Set the initial values for new indices.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00132">AdamsMoulton5.cpp:132</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_ace46ff4fbe3c001c816dbc4f9f67606f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#ace46ff4fbe3c001c816dbc4f9f67606f">pFlow::AdamsMoulton5::rpIntegration</a></div><div class="ttdeci">Kokkos::RangePolicy&lt; DefaultExecutionSpace, Kokkos::Schedule&lt; Kokkos::Static &gt;, Kokkos::IndexType&lt; int32 &gt; &gt; rpIntegration</div><div class="ttdoc">Range policy for integration kernel.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00062">AdamsMoulton5.hpp:62</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_aaa8ac3ebc39d8702e08e1f71c5843974"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#aaa8ac3ebc39d8702e08e1f71c5843974">pFlow::AdamsMoulton5::predictRange</a></div><div class="ttdeci">bool predictRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Prediction step on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00147">AdamsMoulton5.hpp:147</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html"><div class="ttname"><a href="classpFlow_1_1integration.html">pFlow::integration</a></div><div class="ttdoc">Base class for integrating the first order ODE (IVP)</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00051">integration.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae49b1b421c0a7de757a2fdc46f163498"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">pFlow::internalField::deviceViewAll</a></div><div class="ttdeci">const auto &amp; deviceViewAll() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00092">internalField.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a152b752a6b7b37e70fa5e7c99a484783"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a152b752a6b7b37e70fa5e7c99a484783">pFlow::AdamsMoulton5::intAll</a></div><div class="ttdeci">bool intAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Integrate on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00174">AdamsMoulton5.cpp:174</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a5a622149e803f0fa292a95784c12a7b8"><div class="ttname"><a href="classpFlow_1_1integration.html#a5a622149e803f0fa292a95784c12a7b8">pFlow::integration::pStruct</a></div><div class="ttdeci">const auto &amp; pStruct() const</div><div class="ttdoc">Const ref to pointStructure.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00115">integration.hpp:115</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="apointFields_8hpp_html"><div class="ttname"><a href="pointFields_8hpp.html">pointFields.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_aa18e539a33004e6d10e69a19ef0c5ddb"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#aa18e539a33004e6d10e69a19ef0c5ddb">pFlow::AdamsMoulton5::add_vCtor</a></div><div class="ttdeci">add_vCtor(integration, AdamsMoulton5, word)</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html">pFlow::AdamsMoulton5</a></div><div class="ttdoc">Fifth order Adams-Moulton integration method for solving ODE.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00036">AdamsMoulton5.hpp:36</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_aa601d0785e68d2298567b2861996f956"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#aa601d0785e68d2298567b2861996f956">pFlow::AdamsMoulton5::predictAll</a></div><div class="ttdeci">bool predictAll(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, range activeRng)</div><div class="ttdoc">Prediction step on all points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00141">AdamsMoulton5.cpp:141</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a4e30df3927ef1cdd2490cd85018518f5"><div class="ttname"><a href="classpFlow_1_1integration.html#a4e30df3927ef1cdd2490cd85018518f5">pFlow::integration::baseName</a></div><div class="ttdeci">const word &amp; baseName() const</div><div class="ttdoc">Base name.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00122">integration.hpp:122</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointField_html"><div class="ttname"><a href="classpFlow_1_1pointField.html">pFlow::pointField</a></div><div class="ttdef"><b>Definition:</b> <a href="pointField_8hpp_source.html#l00033">pointField.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1pointStructure_html"><div class="ttname"><a href="classpFlow_1_1pointStructure.html">pFlow::pointStructure</a></div><div class="ttdef"><b>Definition:</b> <a href="pointStructure_8hpp_source.html#l00034">pointStructure.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a698a75833834ae70210d306e047cb196"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a698a75833834ae70210d306e047cb196">pFlow::AdamsMoulton5::dy0_</a></div><div class="ttdeci">realx3PointField_D &amp; dy0_</div><div class="ttdoc">dy at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00046">AdamsMoulton5.hpp:46</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a46c37b69200a2f4faef9c149a25bab60"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a46c37b69200a2f4faef9c149a25bab60">pFlow::AdamsMoulton5::dy1_</a></div><div class="ttdeci">realx3PointField_D &amp; dy1_</div><div class="ttdoc">dy at time t-dt</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00049">AdamsMoulton5.hpp:49</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aae6ad039f09c0676db11bd114136a3fa"><div class="ttname"><a href="namespacepFlow.html#aae6ad039f09c0676db11bd114136a3fa">pFlow::int32</a></div><div class="ttdeci">int int32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00050">builtinTypes.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a29f8a3197295f0ffa73d24bbacc6228c"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a29f8a3197295f0ffa73d24bbacc6228c">pFlow::AdamsMoulton5::clone</a></div><div class="ttdeci">uniquePtr&lt; integration &gt; clone() const override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00077">AdamsMoulton5.hpp:77</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a6c02e0d25a1b849255e67e72d1a9d026"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a6c02e0d25a1b849255e67e72d1a9d026">pFlow::AdamsMoulton5::y0_</a></div><div class="ttdeci">realx3PointField_D &amp; y0_</div><div class="ttdoc">y at time t</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00043">AdamsMoulton5.hpp:43</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_ac755e4bf02c3732d1eb89de9e903ebdb"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#ac755e4bf02c3732d1eb89de9e903ebdb">pFlow::AdamsMoulton5::correct</a></div><div class="ttdeci">bool correct(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00114">AdamsMoulton5.cpp:114</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a84c490b65587b21f5666766e94a945bc"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a84c490b65587b21f5666766e94a945bc">pFlow::AdamsMoulton5::AdamsMoulton5</a></div><div class="ttdeci">AdamsMoulton5(const word &amp;baseName, repository &amp;owner, const pointStructure &amp;pStruct, const word &amp;method)</div><div class="ttdoc">Construct from components.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00025">AdamsMoulton5.cpp:25</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_aceb0c803bb6e5c46a1695c4e5b6e641f"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#aceb0c803bb6e5c46a1695c4e5b6e641f">pFlow::AdamsMoulton5::needSetInitialVals</a></div><div class="ttdeci">bool needSetInitialVals() const override</div><div class="ttdoc">Check if the method requires any set initial vals.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00108">AdamsMoulton5.hpp:108</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a10329e18307a60d3fdb203bcbed2b295"><div class="ttname"><a href="classpFlow_1_1integration.html#a10329e18307a60d3fdb203bcbed2b295">pFlow::integration::owner</a></div><div class="ttdeci">repository &amp; owner()</div><div class="ttdoc">Ref to the owner repository.</div><div class="ttdef"><b>Definition:</b> <a href="integration_8hpp_source.html#l00129">integration.hpp:129</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a565b658e8641f9fd9a6a5c8e93089d5d"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a565b658e8641f9fd9a6a5c8e93089d5d">pFlow::AdamsMoulton5::predict</a></div><div class="ttdeci">bool predict(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy) override</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8cpp_source.html#l00094">AdamsMoulton5.cpp:94</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a09e936a903a062f6d1d045eb4fdbd8a5"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a09e936a903a062f6d1d045eb4fdbd8a5">pFlow::AdamsMoulton5::dy2_</a></div><div class="ttdeci">realx3PointField_D &amp; dy2_</div><div class="ttdoc">dy at time t-2*dt</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00052">AdamsMoulton5.hpp:52</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a79d535ef8716acc040282ffd37196ac6"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a79d535ef8716acc040282ffd37196ac6">pFlow::AdamsMoulton5::dy3_</a></div><div class="ttdeci">realx3PointField_D &amp; dy3_</div><div class="ttdoc">dy at time t-3*dt</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00055">AdamsMoulton5.hpp:55</a></div></div>
<div class="ttc" id="aclasspFlow_1_1uniquePtr_html"><div class="ttname"><a href="classpFlow_1_1uniquePtr.html">pFlow::uniquePtr</a></div><div class="ttdef"><b>Definition:</b> <a href="uniquePtr_8hpp_source.html#l00042">uniquePtr.hpp:42</a></div></div>
<div class="ttc" id="aintegration_8hpp_html"><div class="ttname"><a href="integration_8hpp.html">integration.hpp</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_aa7d4742cdf24a3792276e669531d145c"><div class="ttname"><a href="pFlowMacros_8hpp.html#aa7d4742cdf24a3792276e669531d145c">LAMBDA_HD</a></div><div class="ttdeci">#define LAMBDA_HD</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00058">pFlowMacros.hpp:58</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a191dc9197b587f09bb5ee7989b0ba43e"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a191dc9197b587f09bb5ee7989b0ba43e">pFlow::AdamsMoulton5::intRange</a></div><div class="ttdeci">bool intRange(real dt, realx3Vector_D &amp;y, realx3Vector_D &amp;dy, activeFunctor activeP)</div><div class="ttdoc">Integrate on active points in the active range.</div><div class="ttdef"><b>Definition:</b> <a href="AdamsMoulton5_8hpp_source.html#l00185">AdamsMoulton5.hpp:185</a></div></div>
<div class="ttc" id="aclasspFlow_1_1integration_html_a05cf94b87db6b7d4b9c2d2eb81592cf3"><div class="ttname"><a href="classpFlow_1_1integration.html#a05cf94b87db6b7d4b9c2d2eb81592cf3">pFlow::integration::method</a></div><div class="ttdeci">virtual word method() const =0</div><div class="ttdoc">return integration method</div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a205b69055b5aebe5b9c924e435365169"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a205b69055b5aebe5b9c924e435365169">pFlow::AdamsMoulton5::~AdamsMoulton5</a></div><div class="ttdeci">virtual ~AdamsMoulton5()=default</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclasspFlow_1_1repository_html"><div class="ttname"><a href="classpFlow_1_1repository.html">pFlow::repository</a></div><div class="ttdef"><b>Definition:</b> <a href="repository_8hpp_source.html#l00034">repository.hpp:34</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector&lt; realx3 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1AdamsMoulton5_html_a93700041b6e609e429801e569f554e4c"><div class="ttname"><a href="classpFlow_1_1AdamsMoulton5.html#a93700041b6e609e429801e569f554e4c">pFlow::AdamsMoulton5::TypeInfo</a></div><div class="ttdeci">TypeInfo(&quot;AdamsMoulton5&quot;)</div><div class="ttdoc">Type info.</div></div>
<div class="ttc" id="aclasspFlow_1_1indexContainer_html"><div class="ttname"><a href="classpFlow_1_1indexContainer.html">pFlow::indexContainer</a></div><div class="ttdoc">It holds two vectors of indecis on Host and Device.</div><div class="ttdef"><b>Definition:</b> <a href="indexContainer_8hpp_source.html#l00039">indexContainer.hpp:39</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_5ff0557589c78f704a7131791f9a8bc6.html">Integration</a></li><li class="navelem"><a class="el" href="dir_5dff251c44f5003b2e670500c74e030b.html">AdamsMoulton5</a></li><li class="navelem"><a class="el" href="AdamsMoulton5_8hpp.html">AdamsMoulton5.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,149 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Interaction/contactSearch/ContactSearch/ContactSearch.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('ContactSearch_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">ContactSearch.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for ContactSearch.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="ContactSearch_8hpp__incl.png" border="0" usemap="#src_2Interaction_2contactSearch_2ContactSearch_2ContactSearch_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="ContactSearch_8hpp__dep__incl.png" border="0" usemap="#src_2Interaction_2contactSearch_2ContactSearch_2ContactSearch_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="ContactSearch_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1ContactSearch.html">ContactSearch&lt; searchMethod &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_521648a0ab4242664e9ecc37593f7519.html">Interaction</a></li><li class="navelem"><a class="el" href="dir_f27c6bb1e70979f7ed7175f297e69b7e.html">contactSearch</a></li><li class="navelem"><a class="el" href="dir_2ba5b24e55596b6b1de53b507451952d.html">ContactSearch</a></li><li class="navelem"><a class="el" href="ContactSearch_8hpp.html">ContactSearch.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/Interaction/contactSearch/ContactSearch/ContactSearch.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Interaction/contactSearch\l/ContactSearch/ContactSearch.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/Interaction/contactSearch\l/ContactSearch/ContactSearchs.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ContactSearchs_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,20 @@
digraph "src/Interaction/contactSearch/ContactSearch/ContactSearch.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Interaction/contactSearch\l/ContactSearch/ContactSearch.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="contactSearchGlobals.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$contactSearchGlobals_8hpp.html",tooltip=" "];
Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node41 [label="contactSearch.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$contactSearch_8hpp.html",tooltip=" "];
Node41 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node65 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node65 [label="box.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$box_8hpp.html",tooltip=" "];
Node1 -> Node66 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node66 [label="particles.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$particles_8hpp.html",tooltip=" "];
Node1 -> Node172 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node172 [label="geometry.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$geometry_8hpp.html",tooltip=" "];
Node1 -> Node179 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node179 [label="boundaryContactSearchList.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$boundaryContactSearchList_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,351 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Interaction/contactSearch/ContactSearch/ContactSearch.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('ContactSearch_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ContactSearch.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="ContactSearch_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#ifndef __ContactSearch_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="preprocessor">#define __ContactSearch_hpp__</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="contactSearchGlobals_8hpp.html">contactSearchGlobals.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="contactSearch_8hpp.html">contactSearch.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="box_8hpp.html">box.hpp</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="particles_8hpp.html">particles.hpp</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="geometry_8hpp.html">geometry.hpp</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="boundaryContactSearchList_8hpp.html">boundaryContactSearchList.hpp</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">template</span>&lt;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keyword">class </span>searchMethod</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;&gt;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html"> 38</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1ContactSearch.html">ContactSearch</a></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;:</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1contactSearch.html">contactSearch</a></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#a85466bc714e19a8eb1775698f6fce13a"> 44</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1ContactSearch.html#a85466bc714e19a8eb1775698f6fce13a">IdType</a> = <a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#aafbc6c11862daeac07d73494aa73377a"> 46</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1ContactSearch.html#aafbc6c11862daeac07d73494aa73377a">ExecutionSpace</a> = <a class="code" href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">DefaultExecutionSpace</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#a14a58890480776cd43f47cf202c50c45"> 48</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1ContactSearch.html#a14a58890480776cd43f47cf202c50c45">SearchMethodType</a> = searchMethod;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#abf14a812b9c273d8c618eff23b99550f"> 52</a></span>&#160; <a class="code" href="classpFlow_1_1uniquePtr.html">uniquePtr&lt;SearchMethodType&gt;</a> <a class="code" href="classpFlow_1_1ContactSearch.html#abf14a812b9c273d8c618eff23b99550f">ppwContactSearch_</a> = <span class="keyword">nullptr</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#a467ac73738857be13fe399f67b1d935c"> 54</a></span>&#160; <a class="code" href="classpFlow_1_1boundaryContactSearchList.html">boundaryContactSearchList</a> <a class="code" href="classpFlow_1_1ContactSearch.html#a467ac73738857be13fe399f67b1d935c">csBoundaries_</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#a9b8b797bb562937bc89d63a074331a7b"> 56</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1ContactSearch.html#a9b8b797bb562937bc89d63a074331a7b">BroadSearch</a>(</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1timeInfo.html">timeInfo</a>&amp; ti,</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classpFlow_1_1unsortedPairs.html">csPairContainerType</a>&amp; ppPairs,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classpFlow_1_1unsortedPairs.html">csPairContainerType</a>&amp; pwPairs,</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">bool</span> force = <span class="keyword">false</span>)<span class="keyword"> override</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; position = <a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1particles.html#ab65a0c533b6ad751af6e319e219b1bae">pointPosition</a>().deviceViewAll();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; flags = <a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1particles.html#a1898e0b780e6dcca30fb4549130bcb82">dynPointStruct</a>().activePointsMaskDevice();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; diam = <a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1particles.html#adaa26de060a2ce43e01c63ff154a820e">boundingSphere</a>().<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classpFlow_1_1ContactSearch.html#abf14a812b9c273d8c618eff23b99550f">ppwContactSearch_</a>().broadSearch(</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; ti.<a class="code" href="classpFlow_1_1timeInfo.html#aafddac2ca8db0456c5674a914ed28545">iter</a>(),</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; ti.<a class="code" href="classpFlow_1_1timeInfo.html#abf39a85732afffe30b0bc9f11f3294cd">t</a>(),</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; ti.<a class="code" href="classpFlow_1_1timeInfo.html#ab27fc2e669d34a0f956786f8000ca284">dt</a>(),</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; ppPairs, </div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; pwPairs,</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; position, </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; flags, </div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; diam,</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; force</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; );</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#ab03a6396d06d64e1360bae7b31b221cf"> 80</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1ContactSearch.html#ab03a6396d06d64e1360bae7b31b221cf">BoundaryBroadSearch</a>(</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> bndryIndex,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1timeInfo.html">timeInfo</a>&amp; ti,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classpFlow_1_1unsortedPairs.html">csPairContainerType</a>&amp; ppPairs,</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classpFlow_1_1unsortedPairs.html">csPairContainerType</a>&amp; pwPairs,</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">bool</span> force = <span class="keyword">false</span>)<span class="keyword">override</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword"> </span>{ </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classpFlow_1_1ContactSearch.html#a467ac73738857be13fe399f67b1d935c">csBoundaries_</a>[bndryIndex].broadSearch(</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; ti.<a class="code" href="classpFlow_1_1timeInfo.html#aafddac2ca8db0456c5674a914ed28545">iter</a>(), </div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; ti.<a class="code" href="classpFlow_1_1timeInfo.html#abf39a85732afffe30b0bc9f11f3294cd">t</a>(), </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; ti.<a class="code" href="classpFlow_1_1timeInfo.html#ab27fc2e669d34a0f956786f8000ca284">dt</a>(), </div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; ppPairs, </div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; pwPairs, </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; force</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; );</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classpFlow_1_1ContactSearch.html#a954a983b771de06388078b901b5755a6">TypeInfoTemplate11</a>(<span class="stringliteral">&quot;ContactSearch&quot;</span>, <a class="code" href="classpFlow_1_1ContactSearch.html#a14a58890480776cd43f47cf202c50c45">SearchMethodType</a>);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#af9dd514cd28edb2b83ffa07d78e89a77"> 101</a></span>&#160; <a class="code" href="classpFlow_1_1ContactSearch.html#af9dd514cd28edb2b83ffa07d78e89a77">ContactSearch</a>(</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1dictionary.html">dictionary</a>&amp; csDict,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1box.html">box</a>&amp; extDomain,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1particles.html">particles</a>&amp; prtcl,</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1geometry.html">geometry</a>&amp; geom,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classpFlow_1_1Timers.html">Timers</a>&amp; timers)</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; :</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="classpFlow_1_1contactSearch.html">contactSearch</a>(</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; csDict, </div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; extDomain, </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; prtcl, </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; geom, </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; timers),</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classpFlow_1_1ContactSearch.html#a467ac73738857be13fe399f67b1d935c">csBoundaries_</a>(</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; csDict, </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1contactSearch.html#ae355b601249331cd5c4facb48df43223">pStruct</a>().boundaries(),</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; *this)</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> minD;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> maxD;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1particles.html#aa8d7c58c3cb52c881a119c56dbb7b5df">boundingSphereMinMax</a>(minD, maxD);</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; </div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; position = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1particles.html#ab65a0c533b6ad751af6e319e219b1bae">pointPosition</a>().deviceViewAll();</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; flags = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1particles.html#a1898e0b780e6dcca30fb4549130bcb82">dynPointStruct</a>().activePointsMaskDevice();</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; diam = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">Particles</a>().<a class="code" href="classpFlow_1_1particles.html#adaa26de060a2ce43e01c63ff154a820e">boundingSphere</a>().<a class="code" href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">deviceViewAll</a>();</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> wnPoints = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#ab0f73623ec6d4ee09c142c435329ffbf">Geometry</a>().<a class="code" href="classpFlow_1_1triSurface.html#a2af1db184af973a2c0c3333581a57f58">numPoints</a>();</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">uint32</a> wnTri = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#ab0f73623ec6d4ee09c142c435329ffbf">Geometry</a>().<a class="code" href="classpFlow_1_1triSurface.html#a29636b87d7c459031e2410e5d7623b0f">size</a>();</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; wPoints = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#ab0f73623ec6d4ee09c142c435329ffbf">Geometry</a>().<a class="code" href="classpFlow_1_1triSurface.html#acf65f5945c49ee75276463ee66ce4107">points</a>().<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; wVertices = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#ab0f73623ec6d4ee09c142c435329ffbf">Geometry</a>().<a class="code" href="classpFlow_1_1triSurface.html#ae5203c129e0f459defc582e0595e407a">vertices</a>().<a class="code" href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">deviceViewAll</a>();</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span>&amp; wNormals = this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#ab0f73623ec6d4ee09c142c435329ffbf">Geometry</a>().<a class="code" href="classpFlow_1_1triSurface.html#a6668a8a544618783fd4955d2e9bebb7f">normals</a>().deviceViewAll();</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; ppwContactSearch_ = </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; makeUnique&lt;SearchMethodType&gt;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; (</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classpFlow_1_1contactSearch.html#a19650e729ef6a0899b8fbe25f5238728">dict</a>(),</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; this-&gt;<a class="code" href="classpFlow_1_1contactSearch.html#a2879a9ee0fc5eab64daf8d5c6f3d88a9">extendedDomainBox</a>(),</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; minD,</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; maxD,</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; position,</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; flags,</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; diam,</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; wnPoints,</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; wnTri,</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; wPoints,</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; wVertices,</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; wNormals</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; );</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classpFlow_1_1ContactSearch.html#a05f191978ffcabf5af6bacb4c6d35ebf">add_vCtor</a>(</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="classpFlow_1_1contactSearch.html">contactSearch</a>,</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classpFlow_1_1ContactSearch.html">ContactSearch</a>,</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classpFlow_1_1dictionary.html">dictionary</a>);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#a9c6d7334df6e89c55d07dbcfdbb3a7c1"> 157</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1ContactSearch.html#a9c6d7334df6e89c55d07dbcfdbb3a7c1">enterBroadSearchBoundary</a>(<span class="keyword">const</span> <a class="code" href="classpFlow_1_1timeInfo.html">timeInfo</a>&amp; ti, <span class="keywordtype">bool</span> force=<span class="keyword">false</span>)<span class="keyword">const override</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classpFlow_1_1contactSearch.html#a405df0732509ffaf7bd22e7750540a5c">enterBroadSearch</a>(ti, force) || <a class="code" href="classpFlow_1_1ContactSearch.html#a467ac73738857be13fe399f67b1d935c">csBoundaries_</a>.<a class="code" href="classpFlow_1_1boundaryContactSearchList.html#ab2dc0f8ce6dfe9db238ce885e24222a1">boundariesUpdated</a>();</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#a15658cfdf5aae289d667e3cfcf40fce8"> 162</a></span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="classpFlow_1_1ContactSearch.html#a15658cfdf5aae289d667e3cfcf40fce8">sizeRatio</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classpFlow_1_1ContactSearch.html#abf14a812b9c273d8c618eff23b99550f">ppwContactSearch_</a>().sizeRatio();</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classpFlow_1_1ContactSearch.html#ac643bee43d3e7b50488e3101cae80dec"> 167</a></span>&#160; <a class="code" href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">real</a> <a class="code" href="classpFlow_1_1ContactSearch.html#ac643bee43d3e7b50488e3101cae80dec">cellExtent</a>()<span class="keyword">const override</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classpFlow_1_1ContactSearch.html#abf14a812b9c273d8c618eff23b99550f">ppwContactSearch_</a>().cellExtent();</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;};</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="preprocessor">#endif //__ContactSearch_hpp__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1boundaryContactSearchList_html_ab2dc0f8ce6dfe9db238ce885e24222a1"><div class="ttname"><a href="classpFlow_1_1boundaryContactSearchList.html#ab2dc0f8ce6dfe9db238ce885e24222a1">pFlow::boundaryContactSearchList::boundariesUpdated</a></div><div class="ttdeci">bool boundariesUpdated() const</div><div class="ttdef"><b>Definition:</b> <a href="boundaryContactSearchList_8cpp_source.html#l00029">boundaryContactSearchList.cpp:29</a></div></div>
<div class="ttc" id="aclasspFlow_1_1contactSearch_html_ab0f73623ec6d4ee09c142c435329ffbf"><div class="ttname"><a href="classpFlow_1_1contactSearch.html#ab0f73623ec6d4ee09c142c435329ffbf">pFlow::contactSearch::Geometry</a></div><div class="ttdeci">const geometry &amp; Geometry() const</div><div class="ttdef"><b>Definition:</b> <a href="contactSearch_8hpp_source.html#l00174">contactSearch.hpp:174</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a05f191978ffcabf5af6bacb4c6d35ebf"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a05f191978ffcabf5af6bacb4c6d35ebf">pFlow::ContactSearch::add_vCtor</a></div><div class="ttdeci">add_vCtor(contactSearch, ContactSearch, dictionary)</div></div>
<div class="ttc" id="aclasspFlow_1_1triSurface_html_ae5203c129e0f459defc582e0595e407a"><div class="ttname"><a href="classpFlow_1_1triSurface.html#ae5203c129e0f459defc582e0595e407a">pFlow::triSurface::vertices</a></div><div class="ttdeci">const uint32x3Field_D &amp; vertices() const</div><div class="ttdef"><b>Definition:</b> <a href="triSurface_8hpp_source.html#l00192">triSurface.hpp:192</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a6192191c0e9c178a44ee1ac350fde476"><div class="ttname"><a href="namespacepFlow.html#a6192191c0e9c178a44ee1ac350fde476">pFlow::real</a></div><div class="ttdeci">float real</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00045">builtinTypes.hpp:45</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_abf14a812b9c273d8c618eff23b99550f"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#abf14a812b9c273d8c618eff23b99550f">pFlow::ContactSearch::ppwContactSearch_</a></div><div class="ttdeci">uniquePtr&lt; SearchMethodType &gt; ppwContactSearch_</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00052">ContactSearch.hpp:52</a></div></div>
<div class="ttc" id="aclasspFlow_1_1contactSearch_html_a405df0732509ffaf7bd22e7750540a5c"><div class="ttname"><a href="classpFlow_1_1contactSearch.html#a405df0732509ffaf7bd22e7750540a5c">pFlow::contactSearch::enterBroadSearch</a></div><div class="ttdeci">bool enterBroadSearch(const timeInfo &amp;ti, bool force=false) const</div><div class="ttdef"><b>Definition:</b> <a href="contactSearch_8hpp_source.html#l00139">contactSearch.hpp:139</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_ac643bee43d3e7b50488e3101cae80dec"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#ac643bee43d3e7b50488e3101cae80dec">pFlow::ContactSearch::cellExtent</a></div><div class="ttdeci">real cellExtent() const override</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00167">ContactSearch.hpp:167</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_aafbc6c11862daeac07d73494aa73377a"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#aafbc6c11862daeac07d73494aa73377a">pFlow::ContactSearch::ExecutionSpace</a></div><div class="ttdeci">DefaultExecutionSpace ExecutionSpace</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00046">ContactSearch.hpp:46</a></div></div>
<div class="ttc" id="aclasspFlow_1_1internalField_html_ae49b1b421c0a7de757a2fdc46f163498"><div class="ttname"><a href="classpFlow_1_1internalField.html#ae49b1b421c0a7de757a2fdc46f163498">pFlow::internalField::deviceViewAll</a></div><div class="ttdeci">const auto &amp; deviceViewAll() const</div><div class="ttdef"><b>Definition:</b> <a href="internalField_8hpp_source.html#l00092">internalField.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a9c6d7334df6e89c55d07dbcfdbb3a7c1"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a9c6d7334df6e89c55d07dbcfdbb3a7c1">pFlow::ContactSearch::enterBroadSearchBoundary</a></div><div class="ttdeci">bool enterBroadSearchBoundary(const timeInfo &amp;ti, bool force=false) const override</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00157">ContactSearch.hpp:157</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a467ac73738857be13fe399f67b1d935c"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a467ac73738857be13fe399f67b1d935c">pFlow::ContactSearch::csBoundaries_</a></div><div class="ttdeci">boundaryContactSearchList csBoundaries_</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00054">ContactSearch.hpp:54</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a15658cfdf5aae289d667e3cfcf40fce8"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a15658cfdf5aae289d667e3cfcf40fce8">pFlow::ContactSearch::sizeRatio</a></div><div class="ttdeci">real sizeRatio() const override</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00162">ContactSearch.hpp:162</a></div></div>
<div class="ttc" id="anamespacepFlow_html_abd01e8e67e3d94cab04ecaaf4f85ac1b"><div class="ttname"><a href="namespacepFlow.html#abd01e8e67e3d94cab04ecaaf4f85ac1b">pFlow::uint32</a></div><div class="ttdeci">unsigned int uint32</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00056">builtinTypes.hpp:56</a></div></div>
<div class="ttc" id="abox_8hpp_html"><div class="ttname"><a href="box_8hpp.html">box.hpp</a></div></div>
<div class="ttc" id="aboundaryContactSearchList_8hpp_html"><div class="ttname"><a href="boundaryContactSearchList_8hpp.html">boundaryContactSearchList.hpp</a></div></div>
<div class="ttc" id="aparticles_8hpp_html"><div class="ttname"><a href="particles_8hpp.html">particles.hpp</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aa3a14d3c76643399fc4edd8eca14944a"><div class="ttname"><a href="namespacepFlow.html#aa3a14d3c76643399fc4edd8eca14944a">pFlow::DefaultExecutionSpace</a></div><div class="ttdeci">Kokkos::DefaultExecutionSpace DefaultExecutionSpace</div><div class="ttdoc">Default execution space, it can be device exe.</div><div class="ttdef"><b>Definition:</b> <a href="KokkosTypes_8hpp_source.html#l00061">KokkosTypes.hpp:61</a></div></div>
<div class="ttc" id="aclasspFlow_1_1contactSearch_html_a19650e729ef6a0899b8fbe25f5238728"><div class="ttname"><a href="classpFlow_1_1contactSearch.html#a19650e729ef6a0899b8fbe25f5238728">pFlow::contactSearch::dict</a></div><div class="ttdeci">const dictionary &amp; dict() const</div><div class="ttdef"><b>Definition:</b> <a href="contactSearch_8hpp_source.html#l00154">contactSearch.hpp:154</a></div></div>
<div class="ttc" id="aclasspFlow_1_1contactSearch_html_ae355b601249331cd5c4facb48df43223"><div class="ttname"><a href="classpFlow_1_1contactSearch.html#ae355b601249331cd5c4facb48df43223">pFlow::contactSearch::pStruct</a></div><div class="ttdeci">const pointStructure &amp; pStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="contactSearch_8cpp_source.html#l00043">contactSearch.cpp:43</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Timers_html"><div class="ttname"><a href="classpFlow_1_1Timers.html">pFlow::Timers</a></div><div class="ttdef"><b>Definition:</b> <a href="Timers_8hpp_source.html#l00032">Timers.hpp:32</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a85466bc714e19a8eb1775698f6fce13a"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a85466bc714e19a8eb1775698f6fce13a">pFlow::ContactSearch::IdType</a></div><div class="ttdeci">uint32 IdType</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00044">ContactSearch.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1timeInfo_html"><div class="ttname"><a href="classpFlow_1_1timeInfo.html">pFlow::timeInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="timeInfo_8hpp_source.html#l00028">timeInfo.hpp:28</a></div></div>
<div class="ttc" id="aclasspFlow_1_1triSurface_html_a2af1db184af973a2c0c3333581a57f58"><div class="ttname"><a href="classpFlow_1_1triSurface.html#a2af1db184af973a2c0c3333581a57f58">pFlow::triSurface::numPoints</a></div><div class="ttdeci">uint32 numPoints() const</div><div class="ttdef"><b>Definition:</b> <a href="triSurface_8hpp_source.html#l00157">triSurface.hpp:157</a></div></div>
<div class="ttc" id="aclasspFlow_1_1unsortedPairs_html"><div class="ttname"><a href="classpFlow_1_1unsortedPairs.html">pFlow::unsortedPairs</a></div><div class="ttdef"><b>Definition:</b> <a href="unsortedPairs_8hpp_source.html#l00032">unsortedPairs.hpp:32</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1boundaryContactSearchList_html"><div class="ttname"><a href="classpFlow_1_1boundaryContactSearchList.html">pFlow::boundaryContactSearchList</a></div><div class="ttdef"><b>Definition:</b> <a href="boundaryContactSearchList_8hpp_source.html#l00010">boundaryContactSearchList.hpp:10</a></div></div>
<div class="ttc" id="aclasspFlow_1_1particles_html_adaa26de060a2ce43e01c63ff154a820e"><div class="ttname"><a href="classpFlow_1_1particles.html#adaa26de060a2ce43e01c63ff154a820e">pFlow::particles::boundingSphere</a></div><div class="ttdeci">virtual const realPointField_D &amp; boundingSphere() const =0</div></div>
<div class="ttc" id="aclasspFlow_1_1particles_html"><div class="ttname"><a href="classpFlow_1_1particles.html">pFlow::particles</a></div><div class="ttdef"><b>Definition:</b> <a href="particles_8hpp_source.html#l00033">particles.hpp:33</a></div></div>
<div class="ttc" id="aclasspFlow_1_1particles_html_ab65a0c533b6ad751af6e319e219b1bae"><div class="ttname"><a href="classpFlow_1_1particles.html#ab65a0c533b6ad751af6e319e219b1bae">pFlow::particles::pointPosition</a></div><div class="ttdeci">auto &amp; pointPosition()</div><div class="ttdef"><b>Definition:</b> <a href="particles_8hpp_source.html#l00079">particles.hpp:79</a></div></div>
<div class="ttc" id="aclasspFlow_1_1triSurface_html_a29636b87d7c459031e2410e5d7623b0f"><div class="ttname"><a href="classpFlow_1_1triSurface.html#a29636b87d7c459031e2410e5d7623b0f">pFlow::triSurface::size</a></div><div class="ttdeci">uint32 size() const</div><div class="ttdef"><b>Definition:</b> <a href="triSurface_8hpp_source.html#l00162">triSurface.hpp:162</a></div></div>
<div class="ttc" id="aclasspFlow_1_1triSurface_html_acf65f5945c49ee75276463ee66ce4107"><div class="ttname"><a href="classpFlow_1_1triSurface.html#acf65f5945c49ee75276463ee66ce4107">pFlow::triSurface::points</a></div><div class="ttdeci">const realx3Field_D &amp; points() const</div><div class="ttdef"><b>Definition:</b> <a href="triSurface_8hpp_source.html#l00172">triSurface.hpp:172</a></div></div>
<div class="ttc" id="acontactSearchGlobals_8hpp_html"><div class="ttname"><a href="contactSearchGlobals_8hpp.html">contactSearchGlobals.hpp</a></div></div>
<div class="ttc" id="ageometry_8hpp_html"><div class="ttname"><a href="geometry_8hpp.html">geometry.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1timeInfo_html_ab27fc2e669d34a0f956786f8000ca284"><div class="ttname"><a href="classpFlow_1_1timeInfo.html#ab27fc2e669d34a0f956786f8000ca284">pFlow::timeInfo::dt</a></div><div class="ttdeci">const real &amp; dt() const</div><div class="ttdef"><b>Definition:</b> <a href="timeInfo_8hpp_source.html#l00051">timeInfo.hpp:51</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_af9dd514cd28edb2b83ffa07d78e89a77"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#af9dd514cd28edb2b83ffa07d78e89a77">pFlow::ContactSearch::ContactSearch</a></div><div class="ttdeci">ContactSearch(const dictionary &amp;csDict, const box &amp;extDomain, const particles &amp;prtcl, const geometry &amp;geom, Timers &amp;timers)</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00101">ContactSearch.hpp:101</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a51122b76468e0c5f19ea69c5c0ca6cf4"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a51122b76468e0c5f19ea69c5c0ca6cf4">pFlow::VectorSingle::deviceViewAll</a></div><div class="ttdeci">INLINE_FUNCTION_H auto &amp; deviceViewAll()</div><div class="ttdoc">Device view range [0,capcity)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00249">VectorSingle.cpp:249</a></div></div>
<div class="ttc" id="aclasspFlow_1_1triSurface_html_a6668a8a544618783fd4955d2e9bebb7f"><div class="ttname"><a href="classpFlow_1_1triSurface.html#a6668a8a544618783fd4955d2e9bebb7f">pFlow::triSurface::normals</a></div><div class="ttdeci">auto &amp; normals()</div><div class="ttdef"><b>Definition:</b> <a href="triSurface_8hpp_source.html#l00202">triSurface.hpp:202</a></div></div>
<div class="ttc" id="aclasspFlow_1_1contactSearch_html"><div class="ttname"><a href="classpFlow_1_1contactSearch.html">pFlow::contactSearch</a></div><div class="ttdef"><b>Definition:</b> <a href="contactSearch_8hpp_source.html#l00042">contactSearch.hpp:42</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a954a983b771de06388078b901b5755a6"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a954a983b771de06388078b901b5755a6">pFlow::ContactSearch::TypeInfoTemplate11</a></div><div class="ttdeci">TypeInfoTemplate11(&quot;ContactSearch&quot;, SearchMethodType)</div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a14a58890480776cd43f47cf202c50c45"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a14a58890480776cd43f47cf202c50c45">pFlow::ContactSearch::SearchMethodType</a></div><div class="ttdeci">searchMethod SearchMethodType</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00048">ContactSearch.hpp:48</a></div></div>
<div class="ttc" id="aclasspFlow_1_1contactSearch_html_a2879a9ee0fc5eab64daf8d5c6f3d88a9"><div class="ttname"><a href="classpFlow_1_1contactSearch.html#a2879a9ee0fc5eab64daf8d5c6f3d88a9">pFlow::contactSearch::extendedDomainBox</a></div><div class="ttdeci">const box &amp; extendedDomainBox() const</div><div class="ttdef"><b>Definition:</b> <a href="contactSearch_8hpp_source.html#l00160">contactSearch.hpp:160</a></div></div>
<div class="ttc" id="aclasspFlow_1_1contactSearch_html_a4cc3ca367ecc826265fde31912f28d99"><div class="ttname"><a href="classpFlow_1_1contactSearch.html#a4cc3ca367ecc826265fde31912f28d99">pFlow::contactSearch::Particles</a></div><div class="ttdeci">const particles &amp; Particles() const</div><div class="ttdef"><b>Definition:</b> <a href="contactSearch_8hpp_source.html#l00166">contactSearch.hpp:166</a></div></div>
<div class="ttc" id="aclasspFlow_1_1timeInfo_html_abf39a85732afffe30b0bc9f11f3294cd"><div class="ttname"><a href="classpFlow_1_1timeInfo.html#abf39a85732afffe30b0bc9f11f3294cd">pFlow::timeInfo::t</a></div><div class="ttdeci">const real &amp; t() const</div><div class="ttdef"><b>Definition:</b> <a href="timeInfo_8hpp_source.html#l00047">timeInfo.hpp:47</a></div></div>
<div class="ttc" id="aclasspFlow_1_1box_html"><div class="ttname"><a href="classpFlow_1_1box.html">pFlow::box</a></div><div class="ttdef"><b>Definition:</b> <a href="box_8hpp_source.html#l00032">box.hpp:32</a></div></div>
<div class="ttc" id="aclasspFlow_1_1timeInfo_html_aafddac2ca8db0456c5674a914ed28545"><div class="ttname"><a href="classpFlow_1_1timeInfo.html#aafddac2ca8db0456c5674a914ed28545">pFlow::timeInfo::iter</a></div><div class="ttdeci">const uint32 &amp; iter() const</div><div class="ttdef"><b>Definition:</b> <a href="timeInfo_8hpp_source.html#l00055">timeInfo.hpp:55</a></div></div>
<div class="ttc" id="aclasspFlow_1_1uniquePtr_html"><div class="ttname"><a href="classpFlow_1_1uniquePtr.html">pFlow::uniquePtr&lt; SearchMethodType &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1geometry_html"><div class="ttname"><a href="classpFlow_1_1geometry.html">pFlow::geometry</a></div><div class="ttdoc">Base class for geometry for managing tri-surfaces, geometry motion, and surface physical properties.</div><div class="ttdef"><b>Definition:</b> <a href="geometry_8hpp_source.html#l00044">geometry.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_a9b8b797bb562937bc89d63a074331a7b"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#a9b8b797bb562937bc89d63a074331a7b">pFlow::ContactSearch::BroadSearch</a></div><div class="ttdeci">bool BroadSearch(const timeInfo &amp;ti, csPairContainerType &amp;ppPairs, csPairContainerType &amp;pwPairs, bool force=false) override</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00056">ContactSearch.hpp:56</a></div></div>
<div class="ttc" id="aclasspFlow_1_1particles_html_a1898e0b780e6dcca30fb4549130bcb82"><div class="ttname"><a href="classpFlow_1_1particles.html#a1898e0b780e6dcca30fb4549130bcb82">pFlow::particles::dynPointStruct</a></div><div class="ttdeci">auto &amp; dynPointStruct()</div><div class="ttdef"><b>Definition:</b> <a href="particles_8hpp_source.html#l00074">particles.hpp:74</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html">pFlow::ContactSearch</a></div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00038">ContactSearch.hpp:38</a></div></div>
<div class="ttc" id="acontactSearch_8hpp_html"><div class="ttname"><a href="contactSearch_8hpp.html">contactSearch.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1particles_html_aa8d7c58c3cb52c881a119c56dbb7b5df"><div class="ttname"><a href="classpFlow_1_1particles.html#aa8d7c58c3cb52c881a119c56dbb7b5df">pFlow::particles::boundingSphereMinMax</a></div><div class="ttdeci">virtual void boundingSphereMinMax(real &amp;minDiam, real &amp;maxDiam) const =0</div><div class="ttdef"><b>Definition:</b> <a href="particles_8cpp_source.html#l00116">particles.cpp:116</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html_ab03a6396d06d64e1360bae7b31b221cf"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html#ab03a6396d06d64e1360bae7b31b221cf">pFlow::ContactSearch::BoundaryBroadSearch</a></div><div class="ttdeci">bool BoundaryBroadSearch(uint32 bndryIndex, const timeInfo &amp;ti, csPairContainerType &amp;ppPairs, csPairContainerType &amp;pwPairs, bool force=false) override</div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00080">ContactSearch.hpp:80</a></div></div>
<div class="ttc" id="aclasspFlow_1_1dictionary_html"><div class="ttname"><a href="classpFlow_1_1dictionary.html">pFlow::dictionary</a></div><div class="ttdoc">Dictionary holds a set of data entries or sub-dictionaries that are enclosed in a curely braces or ar...</div><div class="ttdef"><b>Definition:</b> <a href="dictionary_8hpp_source.html#l00067">dictionary.hpp:67</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_521648a0ab4242664e9ecc37593f7519.html">Interaction</a></li><li class="navelem"><a class="el" href="dir_f27c6bb1e70979f7ed7175f297e69b7e.html">contactSearch</a></li><li class="navelem"><a class="el" href="dir_2ba5b24e55596b6b1de53b507451952d.html">ContactSearch</a></li><li class="navelem"><a class="el" href="ContactSearch_8hpp.html">ContactSearch.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Interaction/contactSearch/ContactSearch/ContactSearchs.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('ContactSearchs_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ContactSearchs.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for ContactSearchs.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="ContactSearchs_8cpp__incl.png" border="0" usemap="#src_2Interaction_2contactSearch_2ContactSearch_2ContactSearchs_8cpp" alt=""/></div>
</div>
</div>
<p><a href="ContactSearchs_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_521648a0ab4242664e9ecc37593f7519.html">Interaction</a></li><li class="navelem"><a class="el" href="dir_f27c6bb1e70979f7ed7175f297e69b7e.html">contactSearch</a></li><li class="navelem"><a class="el" href="dir_2ba5b24e55596b6b1de53b507451952d.html">ContactSearch</a></li><li class="navelem"><a class="el" href="ContactSearchs_8cpp.html">ContactSearchs.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,11 @@
digraph "src/Interaction/contactSearch/ContactSearch/ContactSearchs.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/Interaction/contactSearch\l/ContactSearch/ContactSearchs.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ContactSearch.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$ContactSearch_8hpp.html",tooltip=" "];
Node1 -> Node182 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node182 [label="NBS.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$NBS_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,152 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/Interaction/contactSearch/ContactSearch/ContactSearchs.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('ContactSearchs_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ContactSearchs.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="ContactSearchs_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ContactSearch_8hpp.html">ContactSearch.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">//#include &quot;cellMapping.hpp&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="NBS_8hpp.html">NBS.hpp</a>&quot;</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//#include &quot;multiGridNBS.hpp&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">//#include &quot;multiGridMapping.hpp&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1ContactSearch.html">pFlow::ContactSearch&lt;pFlow::NBS&gt;</a>;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment">//template class pFlow::ContactSearch&lt;pFlow::multiGridNBS, pFlow::multiGridMapping&gt;;</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aNBS_8hpp_html"><div class="ttname"><a href="NBS_8hpp.html">NBS.hpp</a></div></div>
<div class="ttc" id="aContactSearch_8hpp_html"><div class="ttname"><a href="ContactSearch_8hpp.html">ContactSearch.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1ContactSearch_html"><div class="ttname"><a href="classpFlow_1_1ContactSearch.html">pFlow::ContactSearch</a></div><div class="ttdef"><b>Definition:</b> <a href="ContactSearch_8hpp_source.html#l00038">ContactSearch.hpp:38</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_521648a0ab4242664e9ecc37593f7519.html">Interaction</a></li><li class="navelem"><a class="el" href="dir_f27c6bb1e70979f7ed7175f297e69b7e.html">contactSearch</a></li><li class="navelem"><a class="el" href="dir_2ba5b24e55596b6b1de53b507451952d.html">ContactSearch</a></li><li class="navelem"><a class="el" href="ContactSearchs_8cpp.html">ContactSearchs.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/phasicFlow/containers/Field/Field.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('Field_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Field.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="Field_8cpp__dep__incl.png" border="0" usemap="#src_2phasicFlow_2containers_2Field_2Field_8cppdep" alt=""/></div>
</div>
</div>
<p><a href="Field_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_74a3bd5d559eb2469f344a26dc365ad0.html">containers</a></li><li class="navelem"><a class="el" href="dir_85497c7e58043584c333050bd80e3172.html">Field</a></li><li class="navelem"><a class="el" href="Field_8cpp.html">Field.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/phasicFlow/containers/Field/Field.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/phasicFlow/containers\l/Field/Field.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/phasicFlow/containers\l/Field/Field.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$Field_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,441 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/phasicFlow/containers/Field/Field.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('Field_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Field.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Field_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> MemorySpace&gt;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22">pFlow::Field&lt;T, MemorySpace&gt;::read</a></div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22"> 23</a></span>&#160;(</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; is</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;{</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">bool</span> tokenFound = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; tokenFound = is.<a class="code" href="classpFlow_1_1iIstream.html#a5f238bd4e73ce3b43b8a737a8f30ab78">findToken</a>(fieldKey_);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">if</span>( !tokenFound )</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; {</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a>( is.<a class="code" href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">name</a>(), is.<a class="code" href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">lineNumber</a>() ) &lt;&lt;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="stringliteral">&quot; error in searching for filedkey &quot;</span> &lt;&lt; fieldKey_&lt;&lt;<a class="code" href="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">endl</a>;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; }</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">if</span>( !VectorType::read(is) )</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a>(is.<a class="code" href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">name</a>(), is.<a class="code" href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">lineNumber</a>())&lt;&lt;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="stringliteral">&quot;error in reading field data from field &quot;</span>&lt;&lt; this-&gt;name()&lt;&lt;<a class="code" href="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">endl</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; is.<a class="code" href="classpFlow_1_1iIstream.html#aca8c209dd4920ea633336742d8a874e0">readEndStatement</a>(<span class="stringliteral">&quot;Field::read&quot;</span>);</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;}</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> MemorySpace&gt;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22">pFlow::Field&lt;T, MemorySpace&gt;::read</a></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a08e94ee49f203eb9d2ab071846af9fb5"> 54</a></span>&#160;(</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; is,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1IOPattern.html">IOPattern</a>&amp; iop,</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">bool</span> resume</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;)</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">bool</span> tokenFound = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span>(resume)</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span>(iop.<a class="code" href="classpFlow_1_1IOPattern.html#a84ecbbbba75a3f4168093dd8e483b972">thisProcReadData</a>())</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; tokenFound = is.<a class="code" href="classpFlow_1_1iIstream.html#afde1855233ba897f4bb342285f94fc87">findTokenResume</a>(fieldKey_);</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">else</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span>(iop.<a class="code" href="classpFlow_1_1IOPattern.html#a84ecbbbba75a3f4168093dd8e483b972">thisProcReadData</a>())</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; tokenFound = is.<a class="code" href="classpFlow_1_1iIstream.html#a5f238bd4e73ce3b43b8a737a8f30ab78">findToken</a>(fieldKey_);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span>( !tokenFound )</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a>( is.<a class="code" href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">name</a>(), is.<a class="code" href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">lineNumber</a>() ) &lt;&lt;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="stringliteral">&quot; error in searching for filedkey &quot;</span> &lt;&lt; fieldKey_&lt;&lt;<a class="code" href="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">endl</a>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span>( !VectorType::read(is, iop) )</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a>(is.<a class="code" href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">name</a>(), is.<a class="code" href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">lineNumber</a>())&lt;&lt;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="stringliteral">&quot;error in reading field data from field &quot;</span>&lt;&lt; this-&gt;name()&lt;&lt;<a class="code" href="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">endl</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span>(iop.<a class="code" href="classpFlow_1_1IOPattern.html#a84ecbbbba75a3f4168093dd8e483b972">thisProcReadData</a>())</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; is.<a class="code" href="classpFlow_1_1iIstream.html#aca8c209dd4920ea633336742d8a874e0">readEndStatement</a>(<span class="stringliteral">&quot;Field::read&quot;</span>);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> MemorySpace&gt;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91">pFlow::Field&lt;T, MemorySpace&gt;::write</a></div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91"> 95</a></span>&#160;(</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; os</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;)<span class="keyword">const</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; os.<a class="code" href="classpFlow_1_1iOstream.html#af746580dedb817d31f5060ee684b9543">writeWordKeyword</a>(fieldKey_)&lt;&lt;<a class="code" href="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">endl</a>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span>(!os.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>))<span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span>(!VectorType::write(os)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; os.<a class="code" href="classpFlow_1_1iOstream.html#a2ddd99bc2797e644b86f74dd1c176f4a">endEntry</a>();</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span>(!os.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>))<span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> MemorySpace&gt;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91">pFlow::Field&lt;T, MemorySpace&gt;::write</a></div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a8c955e17bd99dcab8fa9cf8c96ba6dd0"> 116</a></span>&#160;(</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; os, </div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">const</span> <a class="code" href="classpFlow_1_1IOPattern.html">IOPattern</a>&amp; iop</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;)<span class="keyword">const</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;{</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">if</span>(iop.<a class="code" href="classpFlow_1_1IOPattern.html#a96f33dc2acbd7a153e16d6405222f1a9">thisProcWriteData</a>())</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; os.<a class="code" href="classpFlow_1_1iOstream.html#af746580dedb817d31f5060ee684b9543">writeWordKeyword</a>(fieldKey_)&lt;&lt;<a class="code" href="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">endl</a>;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span>(!os.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>))<span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">if</span>(!VectorType::write(os, iop)) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span>(iop.<a class="code" href="classpFlow_1_1IOPattern.html#a96f33dc2acbd7a153e16d6405222f1a9">thisProcWriteData</a>())</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; os.<a class="code" href="classpFlow_1_1iOstream.html#a2ddd99bc2797e644b86f74dd1c176f4a">endEntry</a>();</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; os.<a class="code" href="classpFlow_1_1iOstream.html#a577f32ec301e562d6a205c6bd15fc005">newLine</a>();</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; } </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; </div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span>(!os.<a class="code" href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">check</a>(<a class="code" href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a>))<span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;}</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment">/*template&lt;template&lt;class, class&gt; class VectorField, class T, class PropType&gt;</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="comment">bool pFlow::Field&lt;VectorField, T, PropType&gt;::readUniform</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;<span class="comment">( </span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="comment"> iIstream&amp; is,</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="comment"> size_t len,</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="comment"> bool readLength</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="comment">)</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="comment"> size_t flen = 0;</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="comment"> if( readLength ) </span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;<span class="comment"> is&gt;&gt;flen;</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="comment"> if(is.bad() || is.eof() )</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment"> ioErrorInFile( is.name(), is.lineNumber() ) &lt;&lt;</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment"> &quot;expected integer value to specify field length \n&quot;;</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment"> return false;</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment"> else</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment"> flen = len;</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment"> // create a vector with one element and read it in</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;<span class="comment"> T bF;</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;<span class="comment"> is &gt;&gt; bF; </span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="comment"> VectorType::assign(flen, bF);</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="comment"> // read end statement char ;</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="comment"> is.readEndStatement(&quot;readField&quot;);</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="comment"> return true;</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="comment">}</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="comment">template&lt;template&lt;class, class&gt; class VectorField, class T, class PropType&gt;</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="comment">bool pFlow::Field&lt;VectorField, T, PropType&gt;::readNonUniform</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="comment">(</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="comment"> iIstream&amp; is,</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="comment"> size_t len</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;<span class="comment">)</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;<span class="comment"> size_t flen = 0;</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;<span class="comment"> is &gt;&gt; flen;</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;<span class="comment"> if(is.bad() || is.eof() )</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="comment"> ioErrorInFile( is.name(), is.lineNumber() ) &lt;&lt;</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="comment"> &quot; expected integer value to specify field length \n&quot;;</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;<span class="comment"> return false;</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="comment"> if( len!=0 &amp;&amp; flen != len )</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;<span class="comment"> ioErrorInFile( is.name(), is.lineNumber() ) &lt;&lt;</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="comment"> &quot; expected &quot;&lt;&lt; len &lt;&lt;&quot; as the field length but found &quot;&lt;&lt; flen &lt;&lt;&quot; \n&quot;;</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"> return false; </span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="comment"> VectorType::readVector(is, flen);</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;<span class="comment"> is.readEndStatement(&quot;readField&quot;);</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;<span class="comment"> if( this-&gt;size() != flen )</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="comment"> ioErrorInFile( is.name(), is.lineNumber() ) &lt;&lt;</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;<span class="comment"> &quot; expected &quot; &lt;&lt; flen &lt;&lt; &quot; elements, but supplied &quot;&lt;&lt;</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="comment"> this-&gt;size() &lt;&lt; &quot; elements in file &quot;&lt;&lt; is.name() &lt;&lt;endl;</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;<span class="comment"> return false; </span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="comment"> return true; </span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="comment">}*/</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;<span class="comment">/*template&lt;template&lt;class, class&gt; class VectorField, class T, class PropType&gt;</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;<span class="comment">bool pFlow::Field&lt;VectorField, T, PropType&gt;::readField</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="comment">(</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="comment"> iIstream&amp; is,</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment"> const size_t len,</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="comment"> bool resume,</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="comment"> bool readLength</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="comment">)</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment"> bool tokenFound;</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="comment"> if( resume )</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="comment"> tokenFound = is.findTokenResume(fieldKey_);</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="comment"> else</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;<span class="comment"> tokenFound = is.findToken(fieldKey_);</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;<span class="comment"> if( !tokenFound )</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="comment"> ioErrorInFile( is.name(), is.lineNumber() ) &lt;&lt;</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="comment"> &quot; error in searching for filedkey &quot; &lt;&lt; fieldKey_&lt;&lt;endl;</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;<span class="comment"> return false;</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="comment"> word fieldU;</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;<span class="comment"> is &gt;&gt; fieldU;</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="comment"> if(is.bad() || is.eof())</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;<span class="comment"> ioErrorInFile( is.name(), is.lineNumber()) &lt;&lt;</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="comment"> &quot; error in reading keyword from file.&quot;;</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;<span class="comment"> return false;</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;<span class="comment"> if( fieldU == uniform__ )</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="comment"> return readUniform(is, len, readLength);</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;<span class="comment"> else if( fieldU == nonUniform__ )</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="comment"> return readNonUniform(is, len); </span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;<span class="comment"> else</span></div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;<span class="comment"> {</span></div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="comment"> ioErrorInFile( is.name(), is.lineNumber() ) &lt;&lt;</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;<span class="comment"> &quot;unknown keyword, expected uniform/nonUniform, but found &quot; &lt;&lt;</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;<span class="comment"> fieldU &lt;&lt; endl;</span></div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;<span class="comment"> return false;</span></div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;<span class="comment"> }</span></div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="comment"> return true;</span></div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="comment">}</span></div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;<span class="comment">template&lt;template&lt;class, class&gt; class VectorField, class T, class PropType&gt;</span></div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="comment">bool pFlow::Field&lt;VectorField, T, PropType&gt;::readField</span></div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;<span class="comment">(</span></div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;<span class="comment"> iIstream&amp; is,</span></div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;<span class="comment"> bool resume</span></div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;<span class="comment">)</span></div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;<span class="comment"> return readField(is, 0, resume ,true);</span></div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="comment">}</span></div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="comment">template&lt;template&lt;class, class&gt; class VectorField, class T, class PropType&gt;</span></div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="comment">bool pFlow::Field&lt;VectorField, T, PropType&gt;::writeField(iOstream&amp; os)const</span></div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="comment">{</span></div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;<span class="comment"> os.writeWordKeyword(fieldKey_) &lt;&lt; nonUniform__&lt;&lt;endl;</span></div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;<span class="comment"> os&lt;&lt; this-&gt;size()&lt;&lt;endl;</span></div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;<span class="comment"> VectorType::write(os);</span></div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;<span class="comment"> os.endEntry();</span></div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;<span class="comment"> return true;</span></div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;<span class="comment">}*/</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1iOstream_html_a577f32ec301e562d6a205c6bd15fc005"><div class="ttname"><a href="classpFlow_1_1iOstream.html#a577f32ec301e562d6a205c6bd15fc005">pFlow::iOstream::newLine</a></div><div class="ttdeci">virtual iOstream &amp; newLine()</div><div class="ttdoc">Write a newLine to stream.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8cpp_source.html#l00112">iOstream.cpp:112</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html_aca8c209dd4920ea633336742d8a874e0"><div class="ttname"><a href="classpFlow_1_1iIstream.html#aca8c209dd4920ea633336742d8a874e0">pFlow::iIstream::readEndStatement</a></div><div class="ttdeci">char readEndStatement(const char *funcName)</div><div class="ttdoc">End statement character ;.</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00359">iIstream.cpp:359</a></div></div>
<div class="ttc" id="apFlowMacros_8hpp_html_a922d2784284e8f6ee4009c3d92ba48b6"><div class="ttname"><a href="pFlowMacros_8hpp.html#a922d2784284e8f6ee4009c3d92ba48b6">FUNCTION_NAME</a></div><div class="ttdeci">#define FUNCTION_NAME</div><div class="ttdef"><b>Definition:</b> <a href="pFlowMacros_8hpp_source.html#l00029">pFlowMacros.hpp:29</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_aff8e92ab47032ae811d1271161cb9b22"><div class="ttname"><a href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22">pFlow::Field::read</a></div><div class="ttdeci">bool read(iIstream &amp;is)</div><div class="ttdef"><b>Definition:</b> <a href="Field_8cpp_source.html#l00023">Field.cpp:23</a></div></div>
<div class="ttc" id="anamespacepFlow_html_aba8f0c455a3fdb4b05ad33a25b13b189"><div class="ttname"><a href="namespacepFlow.html#aba8f0c455a3fdb4b05ad33a25b13b189">pFlow::endl</a></div><div class="ttdeci">iOstream &amp; endl(iOstream &amp;os)</div><div class="ttdoc">Add newline and flush stream.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8hpp_source.html#l00341">iOstream.hpp:341</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_a367eb3425fc4e8270e2aa961df8ac8a5"><div class="ttname"><a href="classpFlow_1_1IOstream.html#a367eb3425fc4e8270e2aa961df8ac8a5">pFlow::IOstream::check</a></div><div class="ttdeci">virtual bool check(const char *operation) const</div><div class="ttdoc">Check IOstream status for given operation.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8cpp_source.html#l00042">IOstream.cpp:42</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html_afde1855233ba897f4bb342285f94fc87"><div class="ttname"><a href="classpFlow_1_1iIstream.html#afde1855233ba897f4bb342285f94fc87">pFlow::iIstream::findTokenResume</a></div><div class="ttdeci">virtual bool findTokenResume(const word &amp;w)</div><div class="ttdoc">search for all tokesn after the current file position and find the first word token tbat matchs w</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00090">iIstream.cpp:90</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a6a40de4ceed55b2f78cf3027739dfd91"><div class="ttname"><a href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91">pFlow::Field::write</a></div><div class="ttdeci">bool write(iOstream &amp;os) const</div><div class="ttdef"><b>Definition:</b> <a href="Field_8cpp_source.html#l00095">Field.cpp:95</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html"><div class="ttname"><a href="classpFlow_1_1iIstream.html">pFlow::iIstream</a></div><div class="ttdoc">Interface class for any input stream</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8hpp_source.html#l00037">iIstream.hpp:37</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOPattern_html"><div class="ttname"><a href="classpFlow_1_1IOPattern.html">pFlow::IOPattern</a></div><div class="ttdef"><b>Definition:</b> <a href="IOPattern_8hpp_source.html#l00032">IOPattern.hpp:32</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iOstream_html_a2ddd99bc2797e644b86f74dd1c176f4a"><div class="ttname"><a href="classpFlow_1_1iOstream.html#a2ddd99bc2797e644b86f74dd1c176f4a">pFlow::iOstream::endEntry</a></div><div class="ttdeci">virtual iOstream &amp; endEntry()</div><div class="ttdoc">Write end entry (';') followed by newline.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8cpp_source.html#l00104">iOstream.cpp:104</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOPattern_html_a84ecbbbba75a3f4168093dd8e483b972"><div class="ttname"><a href="classpFlow_1_1IOPattern.html#a84ecbbbba75a3f4168093dd8e483b972">pFlow::IOPattern::thisProcReadData</a></div><div class="ttdeci">bool thisProcReadData() const</div><div class="ttdef"><b>Definition:</b> <a href="IOPattern_8hpp_source.html#l00138">IOPattern.hpp:138</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOPattern_html_a96f33dc2acbd7a153e16d6405222f1a9"><div class="ttname"><a href="classpFlow_1_1IOPattern.html#a96f33dc2acbd7a153e16d6405222f1a9">pFlow::IOPattern::thisProcWriteData</a></div><div class="ttdeci">bool thisProcWriteData() const</div><div class="ttdef"><b>Definition:</b> <a href="IOPattern_8hpp_source.html#l00146">IOPattern.hpp:146</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_ac9b54653d0ec63ee05f64a185437b335"><div class="ttname"><a href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">pFlow::IOstream::name</a></div><div class="ttdeci">virtual const word &amp; name() const</div><div class="ttdoc">Return the name of the stream.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8cpp_source.html#l00031">IOstream.cpp:31</a></div></div>
<div class="ttc" id="aerror_8hpp_html_a83efa053dfcfcef04cc0e721c0314ff3"><div class="ttname"><a href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a></div><div class="ttdeci">#define ioErrorInFile(fileName, lineNumber)</div><div class="ttdoc">Report an error in file operation with supplied fileName and lineNumber.</div><div class="ttdef"><b>Definition:</b> <a href="error_8hpp_source.html#l00087">error.hpp:87</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_a607efe5fb94edbe4cfa890c4907e76c3"><div class="ttname"><a href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">pFlow::IOstream::lineNumber</a></div><div class="ttdeci">int32 lineNumber() const</div><div class="ttdoc">Const access to the current stream line number.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8hpp_source.html#l00223">IOstream.hpp:223</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html_a5f238bd4e73ce3b43b8a737a8f30ab78"><div class="ttname"><a href="classpFlow_1_1iIstream.html#a5f238bd4e73ce3b43b8a737a8f30ab78">pFlow::iIstream::findToken</a></div><div class="ttdeci">virtual bool findToken(const word &amp;w)</div><div class="ttdoc">search for all tokesn and find the first word token tbat matchs w</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8cpp_source.html#l00084">iIstream.cpp:84</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iOstream_html"><div class="ttname"><a href="classpFlow_1_1iOstream.html">pFlow::iOstream</a></div><div class="ttdoc">Interface class for any output stream.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8hpp_source.html#l00059">iOstream.hpp:59</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iOstream_html_af746580dedb817d31f5060ee684b9543"><div class="ttname"><a href="classpFlow_1_1iOstream.html#af746580dedb817d31f5060ee684b9543">pFlow::iOstream::writeWordKeyword</a></div><div class="ttdeci">virtual iOstream &amp; writeWordKeyword(const word &amp;kw)</div><div class="ttdoc">Write the keyword followed by an appropriate indentation.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8cpp_source.html#l00048">iOstream.cpp:48</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_74a3bd5d559eb2469f344a26dc365ad0.html">containers</a></li><li class="navelem"><a class="el" href="dir_85497c7e58043584c333050bd80e3172.html">Field</a></li><li class="navelem"><a class="el" href="Field_8cpp.html">Field.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,159 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/phasicFlow/containers/Field/Field.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('Field_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Field.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for Field.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="Field_8hpp__incl.png" border="0" usemap="#src_2phasicFlow_2containers_2Field_2Field_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="Field_8hpp__dep__incl.png" border="0" usemap="#src_2phasicFlow_2containers_2Field_2Field_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="Field_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpFlow_1_1Field.html">Field&lt; T, MemorySpace &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a8c42fb1d53ea4c2ca6ce70cc75d244e4"><td class="memTemplParams" colspan="2">template&lt;class T , class MemorySpace &gt; </td></tr>
<tr class="memitem:a8c42fb1d53ea4c2ca6ce70cc75d244e4"><td class="memTemplItemLeft" align="right" valign="top">iIstream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a8c42fb1d53ea4c2ca6ce70cc75d244e4">operator&gt;&gt;</a> (iIstream &amp;is, Field&lt; T, MemorySpace &gt; &amp;ifld)</td></tr>
<tr class="separator:a8c42fb1d53ea4c2ca6ce70cc75d244e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63020ca8921f158ecf170927eca89ca5"><td class="memTemplParams" colspan="2">template&lt;typename T , typename MemorySpace &gt; </td></tr>
<tr class="memitem:a63020ca8921f158ecf170927eca89ca5"><td class="memTemplItemLeft" align="right" valign="top">iOstream &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a63020ca8921f158ecf170927eca89ca5">operator&lt;&lt;</a> (iOstream &amp;os, const Field&lt; T, MemorySpace &gt; &amp;ofld)</td></tr>
<tr class="separator:a63020ca8921f158ecf170927eca89ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_74a3bd5d559eb2469f344a26dc365ad0.html">containers</a></li><li class="navelem"><a class="el" href="dir_85497c7e58043584c333050bd80e3172.html">Field</a></li><li class="navelem"><a class="el" href="Field_8hpp.html">Field.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,6 @@
var Field_8hpp =
[
[ "Field", "classpFlow_1_1Field.html", "classpFlow_1_1Field" ],
[ "operator>>", "Field_8hpp.html#a8c42fb1d53ea4c2ca6ce70cc75d244e4", null ],
[ "operator<<", "Field_8hpp.html#a63020ca8921f158ecf170927eca89ca5", null ]
];

View File

@ -0,0 +1,17 @@
digraph "src/phasicFlow/containers/Field/Field.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/phasicFlow/containers\l/Field/Field.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/phasicFlow/containers\l/Field/Fields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$Fields_8hpp.html",tooltip=" "];
Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="src/phasicFlow/containers\l/pointField/internalField\l/internalField.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$internalField_8hpp.html",tooltip=" "];
Node1 -> Node118 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node118 [label="src/phasicFlow/containers\l/pointField/pointField\l/pointField copy.hpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pointField_01copy_8hpp.html",tooltip=" "];
Node1 -> Node119 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node119 [label="src/phasicFlow/containers\l/pointField/pointField\l/pointField_old.hpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$pointField__old_8hpp.html",tooltip=" "];
Node1 -> Node142 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node142 [label="src/phasicFlow/containers\l/triSurfaceField/triSurfaceField.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$triSurfaceField_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,22 @@
digraph "src/phasicFlow/containers/Field/Field.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/phasicFlow/containers\l/Field/Field.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="types.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$types_8hpp.html",tooltip=" "];
Node1 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node35 [label="VectorSingle.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$VectorSingle_8hpp.html",tooltip=" "];
Node35 -> Node65 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node65 [label="streams.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$streams_8hpp.html",tooltip=" "];
Node1 -> Node85 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node85 [label="wordVectorHost.hpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$wordVectorHost_8hpp.html",tooltip=" "];
Node85 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node85 -> Node86 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node86 [label="Vector.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$Vector_8hpp.html",tooltip=" "];
Node1 -> Node86 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node65 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node92 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node92 [label="Field.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$Field_8cpp.html",tooltip=" "];
}

View File

@ -0,0 +1,412 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/phasicFlow/containers/Field/Field.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('Field_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Field.hpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Field_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef __Field_hpp__</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define __Field_hpp__</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="types_8hpp.html">types.hpp</a>&quot;</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="VectorSingle_8hpp.html">VectorSingle.hpp</a>&quot;</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="wordVectorHost_8hpp.html">wordVectorHost.hpp</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Vector_8hpp.html">Vector.hpp</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="streams_8hpp.html">streams.hpp</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacepFlow.html">pFlow</a></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> MemorySpace = <span class="keywordtype">void</span>&gt;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html"> 36</a></span>&#160;<span class="keyword">class </span><a class="code" href="classpFlow_1_1Field.html">Field</a></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;:</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">public</span> <a class="code" href="classpFlow_1_1VectorSingle.html">VectorSingle</a>&lt;T, MemorySpace&gt;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a90ee4a972a5e87720ef1e4b067a884ac"> 42</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a> = <a class="code" href="classpFlow_1_1VectorSingle.html">VectorSingle&lt;T,MemorySpace&gt;</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a40dbbac51cc766420c6da450d95c1edc"> 44</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html">FieldType</a> = <a class="code" href="classpFlow_1_1Field.html">Field&lt;T, MemorySpace&gt;</a>;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a956cfd99b2704fca5961350f47963e88"> 46</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html">FieldTypeHost</a> = <a class="code" href="classpFlow_1_1Field.html">Field&lt;T, HostSpace&gt;</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#abb38920d985a52377685fd852f62f4c2"> 48</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#abb38920d985a52377685fd852f62f4c2">memory_space</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#a2e01852751e144707eefc63300bcce22">VectorType::memory_space</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a0b138cbd599d4fc0e95738e75f1e7445"> 50</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a0b138cbd599d4fc0e95738e75f1e7445">execution_space</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#a6dc9533c29ac1a7bda75f3f175df75fb">VectorType::execution_space</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a2b8f0ba308c4037e39ec503b9a1e4d0b"> 52</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a2b8f0ba308c4037e39ec503b9a1e4d0b">iterator</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#a4d1ca55c8c62d4fbf3ea42d9919125a0">VectorType::iterator</a>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a0b878024ac2eb388b20acaf63eb29780"> 54</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a0b878024ac2eb388b20acaf63eb29780">const_iterator</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#a2601f8255f8a42148603816eb649c961">VectorType::const_iterator</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a24e1cc28757f0776d455faa2a92cc094"> 56</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a24e1cc28757f0776d455faa2a92cc094">reference</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#a0c5a1541ecf7ad17925583cf6abd2c65">VectorType::reference</a>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a26f1ec9da8d343811868fe6cd475976d"> 58</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a26f1ec9da8d343811868fe6cd475976d">const_reference</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#ac98a2432df95afe641c3847268f579e8">VectorType::const_reference</a>;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a3c9fa6c4f9077b7dd44bd96007ef416a"> 60</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a3c9fa6c4f9077b7dd44bd96007ef416a">value_type</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#afb9ded5f49336ae503bb9f2035ea902b">VectorType::value_type</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a15206b415c09500493d38c91b970e958"> 62</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a15206b415c09500493d38c91b970e958">pointer</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#ab088798d28525c0befe3c707b95c5bc2">VectorType::pointer</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a0adaff4989b6c9d6ddd4b9ba43f9d95e"> 64</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classpFlow_1_1Field.html#a0adaff4989b6c9d6ddd4b9ba43f9d95e">const_pointer</a> = <span class="keyword">typename</span> <a class="code" href="classpFlow_1_1VectorSingle.html#aeb8303778a4db95b65080fb533378d32">VectorType::const_pointer</a>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a7c3f2d5a74856425892835688d908f72"> 69</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">inline</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a> <a class="code" href="classpFlow_1_1Field.html#a7c3f2d5a74856425892835688d908f72">FKey</a> = <span class="stringliteral">&quot;value&quot;</span>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6"> 71</a></span>&#160; <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a> <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a> = <a class="code" href="classpFlow_1_1Field.html#a7c3f2d5a74856425892835688d908f72">FKey</a>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a870370c1af5b7530e534354e45451745">TypeInfoTemplateNV111</a>(<span class="stringliteral">&quot;Field&quot;</span>, T, <a class="code" href="classpFlow_1_1VectorSingle.html#a4afaef92d6e6a55303575f96107d40ec">VectorType::memoerySpaceName</a>());</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a37d975a33e390747a97a453bc0455107"> 81</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#a37d975a33e390747a97a453bc0455107">Field</a>()</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; :</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>()</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {}</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#aa59f88e2c795d2440197ac2b54a21770"> 86</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#aa59f88e2c795d2440197ac2b54a21770">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>)</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; :</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>)</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {}</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; </div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a677b63b1fe9e5d48118598ccf4ed313d"> 92</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#a677b63b1fe9e5d48118598ccf4ed313d">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; :</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>),</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {}</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#afaf4226f4c67b47e1299c55a54f21733"> 99</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#afaf4226f4c67b47e1299c55a54f21733">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keywordtype">size_t</span> len)</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; :</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, len),</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {}</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a677755da27b97125abd8690520e469b3"> 108</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#a677755da27b97125abd8690520e469b3">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> T&amp; val)</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; :</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, len, val),</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {}</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#aef7f58ed165364ea9424e726a12a5d0c"> 114</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#aef7f58ed165364ea9424e726a12a5d0c">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keywordtype">size_t</span> <a class="code" href="classpFlow_1_1VectorSingle.html#aef2405d22737e2c47dfe9994f27a028f">capacity</a>, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> T&amp; val)</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; :</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, len, len, <a class="code" href="structRESERVE.html">RESERVE</a>()),</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html#a6ab1c6d91f769bc9bc0a58cf9f1333d6">VectorType::fill</a>(val);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#accde17c10fc753920eb4601eb787791f"> 123</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#accde17c10fc753920eb4601eb787791f">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keywordtype">size_t</span> <a class="code" href="classpFlow_1_1VectorSingle.html#aef2405d22737e2c47dfe9994f27a028f">capacity</a>, <span class="keywordtype">size_t</span> len, <a class="code" href="structRESERVE.html">RESERVE</a>)</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; :</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <a class="code" href="classpFlow_1_1VectorSingle.html#aef2405d22737e2c47dfe9994f27a028f">capacity</a>, len, <a class="code" href="structRESERVE.html">RESERVE</a>()),</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {}</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; </div>
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a083ef991abc37177cf71c0ed6dcc19fd"> 130</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#a083ef991abc37177cf71c0ed6dcc19fd">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">Vector&lt;T&gt;</a>&amp; vec)</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; :</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(vec.<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>(), vec.vectorField()),</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {}</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a141267793b0eff81395ebff2d5e4bcce"> 137</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#a141267793b0eff81395ebff2d5e4bcce">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Vector.html">Vector&lt;T&gt;</a>&amp; vec)</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; :</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, vec.vectorField()),</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; {}</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a1a2e7d088787cfa568762c3aedf5b2d5"> 144</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#a1a2e7d088787cfa568762c3aedf5b2d5">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keyword">const</span> std::vector&lt;T&gt;&amp; vec)</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; :</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, vec),</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {}</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a6e59e2d8ecd94bfcd311d55efe74db71"> 151</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html#a6e59e2d8ecd94bfcd311d55efe74db71">Field</a>(<span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, <span class="keyword">const</span> <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>, <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Field.html">FieldType</a>&amp; src):</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html">VectorType</a>(<a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>, src),</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>(<a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>)</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {}</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a37d975a33e390747a97a453bc0455107">Field</a>(<span class="keyword">const</span> <a class="code" href="classpFlow_1_1Field.html#a40dbbac51cc766420c6da450d95c1edc">FieldType</a>&amp;) = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a670c26ed7cebf24facd8a6ccbc45c21e"> 161</a></span>&#160; <a class="code" href="classpFlow_1_1Field.html">FieldType</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a670c26ed7cebf24facd8a6ccbc45c21e">operator = </a>(<span class="keyword">const</span> <a class="code" href="classpFlow_1_1Field.html">FieldType</a>&amp; rhs)</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">if</span>(&amp;rhs == <span class="keyword">this</span>) <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classpFlow_1_1VectorSingle.html#a7aaa7e113fd743fb56d22a1e2d34a30f">VectorType::operator=</a>(rhs);</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; }</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a37d975a33e390747a97a453bc0455107">Field</a>(<a class="code" href="classpFlow_1_1Field.html#a40dbbac51cc766420c6da450d95c1edc">FieldType</a>&amp;&amp;) = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classpFlow_1_1Field.html#a40dbbac51cc766420c6da450d95c1edc">FieldType</a>&amp; <a class="code" href="classpFlow_1_1Field.html#a670c26ed7cebf24facd8a6ccbc45c21e">operator = </a>(<a class="code" href="classpFlow_1_1Field.html#a40dbbac51cc766420c6da450d95c1edc">FieldType</a>&amp;&amp;) = <span class="keywordflow">default</span>;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01"> 177</a></span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a> <a class="code" href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">fieldKey</a>()<span class="keyword">const</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">fieldKey_</a>;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2"> 182</a></span>&#160; <a class="code" href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">word</a> <a class="code" href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">name</a>()<span class="keyword">const</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classpFlow_1_1VectorSingle.html#a42b75d70f7af50128d4392123fec643f">VectorType::name</a>();</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
<div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#abddf9e42b6a8c5f965f2b23f30a4d960"> 188</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classpFlow_1_1Field.html#abddf9e42b6a8c5f965f2b23f30a4d960">fillField</a>(<a class="code" href="structpFlow_1_1Range.html">rangeU32</a> <a class="code" href="classpFlow_1_1span.html">span</a>, <span class="keyword">const</span> T&amp; val)</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; this-&gt;<a class="code" href="classpFlow_1_1VectorSingle.html#a6ab1c6d91f769bc9bc0a58cf9f1333d6">fill</a>(span, val);</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classpFlow_1_1Field.html#aaf0e1b45e5bcaaaf0a95e59aad8e8ba3"> 193</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classpFlow_1_1Field.html#aaf0e1b45e5bcaaaf0a95e59aad8e8ba3">fillField</a>(<span class="keyword">const</span> T&amp; val)</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; this-&gt;<a class="code" href="classpFlow_1_1VectorSingle.html#a6ab1c6d91f769bc9bc0a58cf9f1333d6">fill</a>(val);</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; }</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22">read</a>(<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; is);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91">write</a>(<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; os)<span class="keyword">const</span>; </div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22">read</a>(<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; is, <span class="keyword">const</span> <a class="code" href="classpFlow_1_1IOPattern.html">IOPattern</a>&amp; iop, <span class="keywordtype">bool</span> resume = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91">write</a>(<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; os, <span class="keyword">const</span> <a class="code" href="classpFlow_1_1IOPattern.html">IOPattern</a>&amp; iop )<span class="keyword">const</span>; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;};</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> T, <span class="keyword">class</span> MemorySpace&gt;</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a8c42fb1d53ea4c2ca6ce70cc75d244e4"> 214</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classpFlow_1_1iIstream.html">iIstream</a>&amp; <a class="code" href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">operator &gt;&gt; </a>(<a class="code" href="classpFlow_1_1iIstream.html">iIstream</a> &amp; is, <a class="code" href="classpFlow_1_1Field.html">Field&lt;T, MemorySpace&gt;</a> &amp; ifld )</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;{</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">if</span>( !ifld.<a class="code" href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22">read</a>(is, <a class="code" href="classpFlow_1_1IOPattern.html#ac1233559c41d42640fa7882a83951aeca245bd29118fcd1c6ec73ab34ca576816">IOPattern::MasterProcessorOnly</a>) )</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a> (is.<a class="code" href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">name</a>(), is.<a class="code" href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">lineNumber</a>());</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="error_8hpp.html#aad22a1cd3b45a97ac8cd195f06fe61fe">fatalExit</a>;</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> is;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;}</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; </div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> MemorySpace&gt;</div>
<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="namespacepFlow.html#a63020ca8921f158ecf170927eca89ca5"> 225</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; <a class="code" href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">operator &lt;&lt; </a>(<a class="code" href="classpFlow_1_1iOstream.html">iOstream</a>&amp; os, <span class="keyword">const</span> <a class="code" href="classpFlow_1_1Field.html">Field&lt;T, MemorySpace&gt;</a>&amp; ofld )</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span>( !ofld.<a class="code" href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91">write</a>(os, <a class="code" href="classpFlow_1_1IOPattern.html#ac1233559c41d42640fa7882a83951aecaf4f012a72ea39909abe7d94f8d8216c7">IOPattern::AllProcessorsDifferent</a>) )</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a>(os.<a class="code" href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">name</a>(), os.<a class="code" href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">lineNumber</a>());</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="error_8hpp.html#aad22a1cd3b45a97ac8cd195f06fe61fe">fatalExit</a>;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> os; </div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;}</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; </div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; </div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Field_8cpp.html">Field.cpp</a>&quot;</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;<span class="preprocessor">#endif //__Field_hpp__</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1span_html"><div class="ttname"><a href="classpFlow_1_1span.html">pFlow::span</a></div><div class="ttdef"><b>Definition:</b> <a href="span_8hpp_source.html#l00031">span.hpp:31</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a6ab1c6d91f769bc9bc0a58cf9f1333d6"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a6ab1c6d91f769bc9bc0a58cf9f1333d6">pFlow::VectorSingle::fill</a></div><div class="ttdeci">INLINE_FUNCTION_H void fill(const T &amp;val)</div><div class="ttdoc">Fill the range [0,size) with val.</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00365">VectorSingle.cpp:365</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_aeb8303778a4db95b65080fb533378d32"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#aeb8303778a4db95b65080fb533378d32">pFlow::VectorSingle::const_pointer</a></div><div class="ttdeci">const T * const_pointer</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00066">VectorSingle.hpp:66</a></div></div>
<div class="ttc" id="awordVectorHost_8hpp_html"><div class="ttname"><a href="wordVectorHost_8hpp.html">wordVectorHost.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a4d1ca55c8c62d4fbf3ea42d9919125a0"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a4d1ca55c8c62d4fbf3ea42d9919125a0">pFlow::VectorSingle::iterator</a></div><div class="ttdeci">T * iterator</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00054">VectorSingle.hpp:54</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_afaf4226f4c67b47e1299c55a54f21733"><div class="ttname"><a href="classpFlow_1_1Field.html#afaf4226f4c67b47e1299c55a54f21733">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey, size_t len)</div><div class="ttdoc">Construct a field with name and fieldKey and specified len.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00099">Field.hpp:99</a></div></div>
<div class="ttc" id="aerror_8hpp_html_aad22a1cd3b45a97ac8cd195f06fe61fe"><div class="ttname"><a href="error_8hpp.html#aad22a1cd3b45a97ac8cd195f06fe61fe">fatalExit</a></div><div class="ttdeci">#define fatalExit</div><div class="ttdoc">Fatal exit.</div><div class="ttdef"><b>Definition:</b> <a href="error_8hpp_source.html#l00098">error.hpp:98</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_aaf0e1b45e5bcaaaf0a95e59aad8e8ba3"><div class="ttname"><a href="classpFlow_1_1Field.html#aaf0e1b45e5bcaaaf0a95e59aad8e8ba3">pFlow::Field::fillField</a></div><div class="ttdeci">void fillField(const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00193">Field.hpp:193</a></div></div>
<div class="ttc" id="atypes_8hpp_html"><div class="ttname"><a href="types_8hpp.html">types.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a2b353c24fbd6c2b144cab85ee50b8dd6"><div class="ttname"><a href="classpFlow_1_1Field.html#a2b353c24fbd6c2b144cab85ee50b8dd6">pFlow::Field::fieldKey_</a></div><div class="ttdeci">const word fieldKey_</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00071">Field.hpp:71</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a37d975a33e390747a97a453bc0455107"><div class="ttname"><a href="classpFlow_1_1Field.html#a37d975a33e390747a97a453bc0455107">pFlow::Field::Field</a></div><div class="ttdeci">Field()</div><div class="ttdoc">construct an empty Filed with default fieldKey</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00081">Field.hpp:81</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a13fac74a6ba182fd009dbb14818b0d01"><div class="ttname"><a href="classpFlow_1_1Field.html#a13fac74a6ba182fd009dbb14818b0d01">pFlow::Field::fieldKey</a></div><div class="ttdeci">word fieldKey() const</div><div class="ttdoc">return field key</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00177">Field.hpp:177</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a0ebe792a293e8c717bddf60070c0fe99"><div class="ttname"><a href="namespacepFlow.html#a0ebe792a293e8c717bddf60070c0fe99">pFlow::word</a></div><div class="ttdeci">std::string word</div><div class="ttdef"><b>Definition:</b> <a href="builtinTypes_8hpp_source.html#l00064">builtinTypes.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_aff8e92ab47032ae811d1271161cb9b22"><div class="ttname"><a href="classpFlow_1_1Field.html#aff8e92ab47032ae811d1271161cb9b22">pFlow::Field::read</a></div><div class="ttdeci">bool read(iIstream &amp;is)</div><div class="ttdef"><b>Definition:</b> <a href="Field_8cpp_source.html#l00023">Field.cpp:23</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a40dbbac51cc766420c6da450d95c1edc"><div class="ttname"><a href="classpFlow_1_1Field.html#a40dbbac51cc766420c6da450d95c1edc">pFlow::Field::FieldType</a></div><div class="ttdeci">Field&lt; T, MemorySpace &gt; FieldType</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00044">Field.hpp:44</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_accde17c10fc753920eb4601eb787791f"><div class="ttname"><a href="classpFlow_1_1Field.html#accde17c10fc753920eb4601eb787791f">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey, size_t capacity, size_t len, RESERVE)</div><div class="ttdoc">Construct a field with name, fieldKey, capacity and len.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00123">Field.hpp:123</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a7c3f2d5a74856425892835688d908f72"><div class="ttname"><a href="classpFlow_1_1Field.html#a7c3f2d5a74856425892835688d908f72">pFlow::Field::FKey</a></div><div class="ttdeci">static const word FKey</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00069">Field.hpp:69</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html"><div class="ttname"><a href="classpFlow_1_1Field.html">pFlow::Field</a></div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00036">Field.hpp:36</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a83f9a8e30fb37f90e9a6436f4470aaa2"><div class="ttname"><a href="classpFlow_1_1Field.html#a83f9a8e30fb37f90e9a6436f4470aaa2">pFlow::Field::name</a></div><div class="ttdeci">word name() const</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00182">Field.hpp:182</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a2e01852751e144707eefc63300bcce22"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a2e01852751e144707eefc63300bcce22">pFlow::VectorSingle::memory_space</a></div><div class="ttdeci">typename viewType::memory_space memory_space</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00074">VectorSingle.hpp:74</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a0adaff4989b6c9d6ddd4b9ba43f9d95e"><div class="ttname"><a href="classpFlow_1_1Field.html#a0adaff4989b6c9d6ddd4b9ba43f9d95e">pFlow::Field&lt; uint32x3 &gt;::const_pointer</a></div><div class="ttdeci">typename VectorType::const_pointer const_pointer</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00064">Field.hpp:64</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_ab088798d28525c0befe3c707b95c5bc2"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#ab088798d28525c0befe3c707b95c5bc2">pFlow::VectorSingle::pointer</a></div><div class="ttdeci">T * pointer</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00064">VectorSingle.hpp:64</a></div></div>
<div class="ttc" id="anamespacepFlow_html"><div class="ttname"><a href="namespacepFlow.html">pFlow</a></div><div class="ttdef"><b>Definition:</b> <a href="demGeometry_8hpp_source.html#l00027">demGeometry.hpp:27</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a6dc9533c29ac1a7bda75f3f175df75fb"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a6dc9533c29ac1a7bda75f3f175df75fb">pFlow::VectorSingle::execution_space</a></div><div class="ttdeci">typename viewType::execution_space execution_space</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00076">VectorSingle.hpp:76</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a42b75d70f7af50128d4392123fec643f"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a42b75d70f7af50128d4392123fec643f">pFlow::VectorSingle::name</a></div><div class="ttdeci">INLINE_FUNCTION_H word name() const</div><div class="ttdoc">Name of the vector.</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00290">VectorSingle.cpp:290</a></div></div>
<div class="ttc" id="astructRESERVE_html"><div class="ttname"><a href="structRESERVE.html">RESERVE</a></div><div class="ttdef"><b>Definition:</b> <a href="Vector_8hpp_source.html#l00040">Vector.hpp:40</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a0c5a1541ecf7ad17925583cf6abd2c65"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a0c5a1541ecf7ad17925583cf6abd2c65">pFlow::VectorSingle::reference</a></div><div class="ttdeci">T &amp; reference</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00058">VectorSingle.hpp:58</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a6a40de4ceed55b2f78cf3027739dfd91"><div class="ttname"><a href="classpFlow_1_1Field.html#a6a40de4ceed55b2f78cf3027739dfd91">pFlow::Field::write</a></div><div class="ttdeci">bool write(iOstream &amp;os) const</div><div class="ttdef"><b>Definition:</b> <a href="Field_8cpp_source.html#l00095">Field.cpp:95</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iIstream_html"><div class="ttname"><a href="classpFlow_1_1iIstream.html">pFlow::iIstream</a></div><div class="ttdoc">Interface class for any input stream</div><div class="ttdef"><b>Definition:</b> <a href="iIstream_8hpp_source.html#l00037">iIstream.hpp:37</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a3c9fa6c4f9077b7dd44bd96007ef416a"><div class="ttname"><a href="classpFlow_1_1Field.html#a3c9fa6c4f9077b7dd44bd96007ef416a">pFlow::Field&lt; uint32x3 &gt;::value_type</a></div><div class="ttdeci">typename VectorType::value_type value_type</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00060">Field.hpp:60</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOPattern_html_ac1233559c41d42640fa7882a83951aecaf4f012a72ea39909abe7d94f8d8216c7"><div class="ttname"><a href="classpFlow_1_1IOPattern.html#ac1233559c41d42640fa7882a83951aecaf4f012a72ea39909abe7d94f8d8216c7">pFlow::IOPattern::AllProcessorsDifferent</a></div><div class="ttdeci">@ AllProcessorsDifferent</div><div class="ttdef"><b>Definition:</b> <a href="IOPattern_8hpp_source.html#l00057">IOPattern.hpp:57</a></div></div>
<div class="ttc" id="aVectorSingle_8hpp_html"><div class="ttname"><a href="VectorSingle_8hpp.html">VectorSingle.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a677755da27b97125abd8690520e469b3"><div class="ttname"><a href="classpFlow_1_1Field.html#a677755da27b97125abd8690520e469b3">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey, size_t len, const T &amp;val)</div><div class="ttdoc">Construct a field with name, fieldKey and set length to len and value to val.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00108">Field.hpp:108</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a870370c1af5b7530e534354e45451745"><div class="ttname"><a href="classpFlow_1_1Field.html#a870370c1af5b7530e534354e45451745">pFlow::Field::TypeInfoTemplateNV111</a></div><div class="ttdeci">TypeInfoTemplateNV111(&quot;Field&quot;, T, VectorType::memoerySpaceName())</div><div class="ttdoc">type info</div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a2601f8255f8a42148603816eb649c961"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a2601f8255f8a42148603816eb649c961">pFlow::VectorSingle::const_iterator</a></div><div class="ttdeci">const T * const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00056">VectorSingle.hpp:56</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a26f1ec9da8d343811868fe6cd475976d"><div class="ttname"><a href="classpFlow_1_1Field.html#a26f1ec9da8d343811868fe6cd475976d">pFlow::Field&lt; uint32x3 &gt;::const_reference</a></div><div class="ttdeci">typename VectorType::const_reference const_reference</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00058">Field.hpp:58</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a85ed561d066dae339196cd058783674f"><div class="ttname"><a href="namespacepFlow.html#a85ed561d066dae339196cd058783674f">pFlow::operator&gt;&gt;</a></div><div class="ttdeci">INLINE_FUNCTION iIstream &amp; operator&gt;&gt;(iIstream &amp;str, AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00041">AdamsBashforth3.hpp:41</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOPattern_html"><div class="ttname"><a href="classpFlow_1_1IOPattern.html">pFlow::IOPattern</a></div><div class="ttdef"><b>Definition:</b> <a href="IOPattern_8hpp_source.html#l00032">IOPattern.hpp:32</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a0b878024ac2eb388b20acaf63eb29780"><div class="ttname"><a href="classpFlow_1_1Field.html#a0b878024ac2eb388b20acaf63eb29780">pFlow::Field&lt; uint32x3 &gt;::const_iterator</a></div><div class="ttdeci">typename VectorType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00054">Field.hpp:54</a></div></div>
<div class="ttc" id="anamespacepFlow_html_a148d74ad0977268be8ea8b26a147f619"><div class="ttname"><a href="namespacepFlow.html#a148d74ad0977268be8ea8b26a147f619">pFlow::operator&lt;&lt;</a></div><div class="ttdeci">INLINE_FUNCTION iOstream &amp; operator&lt;&lt;(iOstream &amp;str, const AB3History &amp;ab3)</div><div class="ttdef"><b>Definition:</b> <a href="AdamsBashforth3_8hpp_source.html#l00057">AdamsBashforth3.hpp:57</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a083ef991abc37177cf71c0ed6dcc19fd"><div class="ttname"><a href="classpFlow_1_1Field.html#a083ef991abc37177cf71c0ed6dcc19fd">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;fieldKey, const Vector&lt; T &gt; &amp;vec)</div><div class="ttdoc">Construct a field with fieldKey and Vector vec.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00130">Field.hpp:130</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html">pFlow::VectorSingle</a></div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00044">VectorSingle.hpp:44</a></div></div>
<div class="ttc" id="astructpFlow_1_1Range_html"><div class="ttname"><a href="structpFlow_1_1Range.html">pFlow::Range&lt; uint32 &gt;</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_ac9b54653d0ec63ee05f64a185437b335"><div class="ttname"><a href="classpFlow_1_1IOstream.html#ac9b54653d0ec63ee05f64a185437b335">pFlow::IOstream::name</a></div><div class="ttdeci">virtual const word &amp; name() const</div><div class="ttdoc">Return the name of the stream.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8cpp_source.html#l00031">IOstream.cpp:31</a></div></div>
<div class="ttc" id="astreams_8hpp_html"><div class="ttname"><a href="streams_8hpp.html">streams.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a670c26ed7cebf24facd8a6ccbc45c21e"><div class="ttname"><a href="classpFlow_1_1Field.html#a670c26ed7cebf24facd8a6ccbc45c21e">pFlow::Field::operator=</a></div><div class="ttdeci">FieldType &amp; operator=(const FieldType &amp;rhs)</div><div class="ttdoc">Copy assignment, name and fieldKey on the left hand side are preserved.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00161">Field.hpp:161</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a15206b415c09500493d38c91b970e958"><div class="ttname"><a href="classpFlow_1_1Field.html#a15206b415c09500493d38c91b970e958">pFlow::Field&lt; uint32x3 &gt;::pointer</a></div><div class="ttdeci">typename VectorType::pointer pointer</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00062">Field.hpp:62</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a4afaef92d6e6a55303575f96107d40ec"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a4afaef92d6e6a55303575f96107d40ec">pFlow::VectorSingle::memoerySpaceName</a></div><div class="ttdeci">static constexpr const char * memoerySpaceName()</div><div class="ttdoc">Name of the memory space.</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00469">VectorSingle.hpp:469</a></div></div>
<div class="ttc" id="aField_8cpp_html"><div class="ttname"><a href="Field_8cpp.html">Field.cpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_aef7f58ed165364ea9424e726a12a5d0c"><div class="ttname"><a href="classpFlow_1_1Field.html#aef7f58ed165364ea9424e726a12a5d0c">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey, size_t capacity, size_t len, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00114">Field.hpp:114</a></div></div>
<div class="ttc" id="aerror_8hpp_html_a83efa053dfcfcef04cc0e721c0314ff3"><div class="ttname"><a href="error_8hpp.html#a83efa053dfcfcef04cc0e721c0314ff3">ioErrorInFile</a></div><div class="ttdeci">#define ioErrorInFile(fileName, lineNumber)</div><div class="ttdoc">Report an error in file operation with supplied fileName and lineNumber.</div><div class="ttdef"><b>Definition:</b> <a href="error_8hpp_source.html#l00087">error.hpp:87</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_aef2405d22737e2c47dfe9994f27a028f"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#aef2405d22737e2c47dfe9994f27a028f">pFlow::VectorSingle&lt; T, void &gt;::capacity</a></div><div class="ttdeci">INLINE_FUNCTION_H uint32 capacity() const</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00304">VectorSingle.cpp:304</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a677b63b1fe9e5d48118598ccf4ed313d"><div class="ttname"><a href="classpFlow_1_1Field.html#a677b63b1fe9e5d48118598ccf4ed313d">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey)</div><div class="ttdoc">Construct an empty field with name and fieldKey.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00092">Field.hpp:92</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOstream_html_a607efe5fb94edbe4cfa890c4907e76c3"><div class="ttname"><a href="classpFlow_1_1IOstream.html#a607efe5fb94edbe4cfa890c4907e76c3">pFlow::IOstream::lineNumber</a></div><div class="ttdeci">int32 lineNumber() const</div><div class="ttdoc">Const access to the current stream line number.</div><div class="ttdef"><b>Definition:</b> <a href="IOstream_8hpp_source.html#l00223">IOstream.hpp:223</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a2b8f0ba308c4037e39ec503b9a1e4d0b"><div class="ttname"><a href="classpFlow_1_1Field.html#a2b8f0ba308c4037e39ec503b9a1e4d0b">pFlow::Field&lt; uint32x3 &gt;::iterator</a></div><div class="ttdeci">typename VectorType::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00052">Field.hpp:52</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_abb38920d985a52377685fd852f62f4c2"><div class="ttname"><a href="classpFlow_1_1Field.html#abb38920d985a52377685fd852f62f4c2">pFlow::Field&lt; uint32x3 &gt;::memory_space</a></div><div class="ttdeci">typename VectorType::memory_space memory_space</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00048">Field.hpp:48</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Vector_html"><div class="ttname"><a href="classpFlow_1_1Vector.html">pFlow::Vector</a></div><div class="ttdef"><b>Definition:</b> <a href="Vector_8hpp_source.html#l00048">Vector.hpp:48</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_a7aaa7e113fd743fb56d22a1e2d34a30f"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#a7aaa7e113fd743fb56d22a1e2d34a30f">pFlow::VectorSingle::operator=</a></div><div class="ttdeci">VectorSingle &amp; operator=(const VectorSingle &amp;rhs)</div><div class="ttdoc">Copy assignment (perform deep copy from rhs to *this)</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8cpp_source.html#l00204">VectorSingle.cpp:204</a></div></div>
<div class="ttc" id="aclasspFlow_1_1iOstream_html"><div class="ttname"><a href="classpFlow_1_1iOstream.html">pFlow::iOstream</a></div><div class="ttdoc">Interface class for any output stream.</div><div class="ttdef"><b>Definition:</b> <a href="iOstream_8hpp_source.html#l00059">iOstream.hpp:59</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a6e59e2d8ecd94bfcd311d55efe74db71"><div class="ttname"><a href="classpFlow_1_1Field.html#a6e59e2d8ecd94bfcd311d55efe74db71">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey, const FieldType &amp;src)</div><div class="ttdoc">Copy construct with new name and fieldkey.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00151">Field.hpp:151</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_ac98a2432df95afe641c3847268f579e8"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#ac98a2432df95afe641c3847268f579e8">pFlow::VectorSingle::const_reference</a></div><div class="ttdeci">const T &amp; const_reference</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00060">VectorSingle.hpp:60</a></div></div>
<div class="ttc" id="aclasspFlow_1_1IOPattern_html_ac1233559c41d42640fa7882a83951aeca245bd29118fcd1c6ec73ab34ca576816"><div class="ttname"><a href="classpFlow_1_1IOPattern.html#ac1233559c41d42640fa7882a83951aeca245bd29118fcd1c6ec73ab34ca576816">pFlow::IOPattern::MasterProcessorOnly</a></div><div class="ttdeci">@ MasterProcessorOnly</div><div class="ttdef"><b>Definition:</b> <a href="IOPattern_8hpp_source.html#l00054">IOPattern.hpp:54</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_aa59f88e2c795d2440197ac2b54a21770"><div class="ttname"><a href="classpFlow_1_1Field.html#aa59f88e2c795d2440197ac2b54a21770">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00086">Field.hpp:86</a></div></div>
<div class="ttc" id="aVector_8hpp_html"><div class="ttname"><a href="Vector_8hpp.html">Vector.hpp</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a0b138cbd599d4fc0e95738e75f1e7445"><div class="ttname"><a href="classpFlow_1_1Field.html#a0b138cbd599d4fc0e95738e75f1e7445">pFlow::Field&lt; uint32x3 &gt;::execution_space</a></div><div class="ttdeci">typename VectorType::execution_space execution_space</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00050">Field.hpp:50</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a24e1cc28757f0776d455faa2a92cc094"><div class="ttname"><a href="classpFlow_1_1Field.html#a24e1cc28757f0776d455faa2a92cc094">pFlow::Field&lt; uint32x3 &gt;::reference</a></div><div class="ttdeci">typename VectorType::reference reference</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00056">Field.hpp:56</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_abddf9e42b6a8c5f965f2b23f30a4d960"><div class="ttname"><a href="classpFlow_1_1Field.html#abddf9e42b6a8c5f965f2b23f30a4d960">pFlow::Field::fillField</a></div><div class="ttdeci">void fillField(rangeU32 span, const T &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00188">Field.hpp:188</a></div></div>
<div class="ttc" id="aclasspFlow_1_1VectorSingle_html_afb9ded5f49336ae503bb9f2035ea902b"><div class="ttname"><a href="classpFlow_1_1VectorSingle.html#afb9ded5f49336ae503bb9f2035ea902b">pFlow::VectorSingle::value_type</a></div><div class="ttdeci">T value_type</div><div class="ttdef"><b>Definition:</b> <a href="VectorSingle_8hpp_source.html#l00062">VectorSingle.hpp:62</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a1a2e7d088787cfa568762c3aedf5b2d5"><div class="ttname"><a href="classpFlow_1_1Field.html#a1a2e7d088787cfa568762c3aedf5b2d5">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey, const std::vector&lt; T &gt; &amp;vec)</div><div class="ttdoc">Construct a field with name and fieldKey and std::vector.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00144">Field.hpp:144</a></div></div>
<div class="ttc" id="aclasspFlow_1_1Field_html_a141267793b0eff81395ebff2d5e4bcce"><div class="ttname"><a href="classpFlow_1_1Field.html#a141267793b0eff81395ebff2d5e4bcce">pFlow::Field::Field</a></div><div class="ttdeci">Field(const word &amp;name, const word &amp;fieldKey, const Vector&lt; T &gt; &amp;vec)</div><div class="ttdoc">Construct a field with name, fieldKey and Vector vec.</div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00137">Field.hpp:137</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_74a3bd5d559eb2469f344a26dc365ad0.html">containers</a></li><li class="navelem"><a class="el" href="dir_85497c7e58043584c333050bd80e3172.html">Field</a></li><li class="navelem"><a class="el" href="Field_8hpp.html">Field.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/phasicFlow/containers/Field/Fields.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('Fields_8cpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Fields.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for Fields.cpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="Fields_8cpp__incl.png" border="0" usemap="#src_2phasicFlow_2containers_2Field_2Fields_8cpp" alt=""/></div>
</div>
</div>
<p><a href="Fields_8cpp_source.html">Go to the source code of this file.</a></p>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_74a3bd5d559eb2469f344a26dc365ad0.html">containers</a></li><li class="navelem"><a class="el" href="dir_85497c7e58043584c333050bd80e3172.html">Field</a></li><li class="navelem"><a class="el" href="Fields_8cpp.html">Fields.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
digraph "src/phasicFlow/containers/Field/Fields.cpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/phasicFlow/containers\l/Field/Fields.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="Fields.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$Fields_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,155 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/phasicFlow/containers/Field/Fields.cpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('Fields_8cpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Fields.cpp</div> </div>
</div><!--header-->
<div class="contents">
<a href="Fields_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*------------------------------- phasicFlow ---------------------------------</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> O C enter of</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> O O E ngineering and</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> O O M ultiscale modeling of</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> OOOOOOO F luid flow </span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">------------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> Copyright (C): www.cemf.ir</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> email: hamid.r.norouzi AT gmail.com</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">------------------------------------------------------------------------------ </span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">Licence:</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> This file is part of phasicFlow code. It is a free software for simulating </span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> granular and multiphase flows. You can redistribute it and/or modify it under</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> the terms of GNU General Public License v3 or any other later versions. </span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> </span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> phasicFlow is distributed to help others in their research in the field of </span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> granular and multiphase flows, but WITHOUT ANY WARRANTY; without even the</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">-----------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Fields_8hpp.html">Fields.hpp</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1Field.html">pFlow::Field&lt;pFlow::uint8&gt;</a>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1Field.html">pFlow::Field&lt;pFlow::uint32&gt;</a>;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1Field.html">pFlow::Field&lt;pFlow::uint64&gt;</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1Field.html">pFlow::Field&lt;pFlow::real&gt;</a>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1Field.html">pFlow::Field&lt;pFlow::realx3&gt;</a>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; </div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="classpFlow_1_1Field.html">pFlow::Field&lt;pFlow::word, pFlow::HostSpace&gt;</a>;</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclasspFlow_1_1Field_html"><div class="ttname"><a href="classpFlow_1_1Field.html">pFlow::Field</a></div><div class="ttdef"><b>Definition:</b> <a href="Field_8hpp_source.html#l00036">Field.hpp:36</a></div></div>
<div class="ttc" id="aFields_8hpp_html"><div class="ttname"><a href="Fields_8hpp.html">Fields.hpp</a></div></div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_74a3bd5d559eb2469f344a26dc365ad0.html">containers</a></li><li class="navelem"><a class="el" href="dir_85497c7e58043584c333050bd80e3172.html">Field</a></li><li class="navelem"><a class="el" href="Fields_8cpp.html">Fields.cpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,189 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="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.">
<title>PhasicFlow: src/phasicFlow/containers/Field/Fields.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" >
<tbody>
<tr>
<td id="projectlogo"><a href="https://github.com/PhasicFlow"><img alt="Logo" src="phasicFlow_logo.png"></a></td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</td>
</tr>
<tr>
<td id="projectbrief">
<a href="https://https://cemf.ir">www.cemf.ir</a>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('Fields_8hpp.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">Fields.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for Fields.hpp:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="Fields_8hpp__incl.png" border="0" usemap="#src_2phasicFlow_2containers_2Field_2Fields_8hpp" alt=""/></div>
</div>
</div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="Fields_8hpp__dep__incl.png" border="0" usemap="#src_2phasicFlow_2containers_2Field_2Fields_8hppdep" alt=""/></div>
</div>
</div>
<p><a href="Fields_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacepFlow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html">pFlow</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:afba851cf518ced2054465eb48d446436"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#afba851cf518ced2054465eb48d446436">int8Field_D</a> = Field&lt; int8 &gt;</td></tr>
<tr class="separator:afba851cf518ced2054465eb48d446436"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eea99892eefca697fe76e336a729ecc"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a3eea99892eefca697fe76e336a729ecc">int8Field_H</a> = Field&lt; int8, HostSpace &gt;</td></tr>
<tr class="separator:a3eea99892eefca697fe76e336a729ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a996d9a2e1f696453e5fa386fb7fe9ab8"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a996d9a2e1f696453e5fa386fb7fe9ab8">int32Field_D</a> = Field&lt; int32 &gt;</td></tr>
<tr class="separator:a996d9a2e1f696453e5fa386fb7fe9ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bb1a9005c7fda86ff215a2de8f6f611"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a0bb1a9005c7fda86ff215a2de8f6f611">int32Field_H</a> = Field&lt; int32, HostSpace &gt;</td></tr>
<tr class="separator:a0bb1a9005c7fda86ff215a2de8f6f611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b6e835263ad9f50ed51f34988dc794"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a93b6e835263ad9f50ed51f34988dc794">int64Field_D</a> = Field&lt; int64 &gt;</td></tr>
<tr class="separator:a93b6e835263ad9f50ed51f34988dc794"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15a18f2866fd0a69bf4127a1b0530d78"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a15a18f2866fd0a69bf4127a1b0530d78">int64Field_H</a> = Field&lt; int64, HostSpace &gt;</td></tr>
<tr class="separator:a15a18f2866fd0a69bf4127a1b0530d78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3907b1bd683eba5484fde4b81fa05ca5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a3907b1bd683eba5484fde4b81fa05ca5">uint8Field_D</a> = Field&lt; uint8 &gt;</td></tr>
<tr class="separator:a3907b1bd683eba5484fde4b81fa05ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a288d48b3fcdeb9f3b0b52fb066505cbb"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a288d48b3fcdeb9f3b0b52fb066505cbb">uint8Field_H</a> = Field&lt; uint8, HostSpace &gt;</td></tr>
<tr class="separator:a288d48b3fcdeb9f3b0b52fb066505cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ca1be96b6212ee93e1c42c690c0aa40"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a5ca1be96b6212ee93e1c42c690c0aa40">uint32Field_D</a> = Field&lt; uint32 &gt;</td></tr>
<tr class="separator:a5ca1be96b6212ee93e1c42c690c0aa40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52fefb3ad87859a149d69c01f35bd196"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a52fefb3ad87859a149d69c01f35bd196">uint32Field_H</a> = Field&lt; uint32, HostSpace &gt;</td></tr>
<tr class="separator:a52fefb3ad87859a149d69c01f35bd196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6eec7ef04d665eb2b97a16fe0d950e7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#ae6eec7ef04d665eb2b97a16fe0d950e7">uint64Field_D</a> = Field&lt; uint64 &gt;</td></tr>
<tr class="separator:ae6eec7ef04d665eb2b97a16fe0d950e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe83b4478781a093e0a9c97ac43ae3b6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#afe83b4478781a093e0a9c97ac43ae3b6">uint64Field_H</a> = Field&lt; uint64, HostSpace &gt;</td></tr>
<tr class="separator:afe83b4478781a093e0a9c97ac43ae3b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5362914a273aa8ff03f209288b636ba"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#ab5362914a273aa8ff03f209288b636ba">uint32x3Field_D</a> = Field&lt; uint32x3 &gt;</td></tr>
<tr class="separator:ab5362914a273aa8ff03f209288b636ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d55f075a8da3a847d708a31369ae972"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a4d55f075a8da3a847d708a31369ae972">uint32x3Field_H</a> = Field&lt; uint32x3, HostSpace &gt;</td></tr>
<tr class="separator:a4d55f075a8da3a847d708a31369ae972"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07696cb4534f44f0531c68c39904d4cf"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a07696cb4534f44f0531c68c39904d4cf">realField_D</a> = Field&lt; real &gt;</td></tr>
<tr class="separator:a07696cb4534f44f0531c68c39904d4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf2e389d4f000580ce5dddf0bb71813e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#abf2e389d4f000580ce5dddf0bb71813e">realField_H</a> = Field&lt; real, HostSpace &gt;</td></tr>
<tr class="separator:abf2e389d4f000580ce5dddf0bb71813e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c910c47fac98a967d343e8994298262"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a7c910c47fac98a967d343e8994298262">realx3Field_D</a> = Field&lt; realx3 &gt;</td></tr>
<tr class="separator:a7c910c47fac98a967d343e8994298262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aa26effedde9901c6a4f072a284a110"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a7aa26effedde9901c6a4f072a284a110">realx3Field_H</a> = Field&lt; realx3, HostSpace &gt;</td></tr>
<tr class="separator:a7aa26effedde9901c6a4f072a284a110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4261a4fdbf609e4707d92aa9a033e22"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#ad4261a4fdbf609e4707d92aa9a033e22">realx3x3Field_D</a> = Field&lt; realx3x3 &gt;</td></tr>
<tr class="separator:ad4261a4fdbf609e4707d92aa9a033e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1272208e2f294633a96349ec264939e6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a1272208e2f294633a96349ec264939e6">realx3x3Field_H</a> = Field&lt; realx3x3, HostSpace &gt;</td></tr>
<tr class="separator:a1272208e2f294633a96349ec264939e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6afe32faef869cf73e25c0f5c8fd1807"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacepFlow.html#a6afe32faef869cf73e25c0f5c8fd1807">wordField_H</a> = Field&lt; word, HostSpace &gt;</td></tr>
<tr class="separator:a6afe32faef869cf73e25c0f5c8fd1807"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cd7a5046d028e114fc17b2ebc2bd02d2.html">phasicFlow</a></li><li class="navelem"><a class="el" href="dir_74a3bd5d559eb2469f344a26dc365ad0.html">containers</a></li><li class="navelem"><a class="el" href="dir_85497c7e58043584c333050bd80e3172.html">Field</a></li><li class="navelem"><a class="el" href="Fields_8hpp.html">Fields.hpp</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,24 @@
var Fields_8hpp =
[
[ "int8Field_D", "Fields_8hpp.html#afba851cf518ced2054465eb48d446436", null ],
[ "int8Field_H", "Fields_8hpp.html#a3eea99892eefca697fe76e336a729ecc", null ],
[ "int32Field_D", "Fields_8hpp.html#a996d9a2e1f696453e5fa386fb7fe9ab8", null ],
[ "int32Field_H", "Fields_8hpp.html#a0bb1a9005c7fda86ff215a2de8f6f611", null ],
[ "int64Field_D", "Fields_8hpp.html#a93b6e835263ad9f50ed51f34988dc794", null ],
[ "int64Field_H", "Fields_8hpp.html#a15a18f2866fd0a69bf4127a1b0530d78", null ],
[ "uint8Field_D", "Fields_8hpp.html#a3907b1bd683eba5484fde4b81fa05ca5", null ],
[ "uint8Field_H", "Fields_8hpp.html#a288d48b3fcdeb9f3b0b52fb066505cbb", null ],
[ "uint32Field_D", "Fields_8hpp.html#a5ca1be96b6212ee93e1c42c690c0aa40", null ],
[ "uint32Field_H", "Fields_8hpp.html#a52fefb3ad87859a149d69c01f35bd196", null ],
[ "uint64Field_D", "Fields_8hpp.html#ae6eec7ef04d665eb2b97a16fe0d950e7", null ],
[ "uint64Field_H", "Fields_8hpp.html#afe83b4478781a093e0a9c97ac43ae3b6", null ],
[ "uint32x3Field_D", "Fields_8hpp.html#ab5362914a273aa8ff03f209288b636ba", null ],
[ "uint32x3Field_H", "Fields_8hpp.html#a4d55f075a8da3a847d708a31369ae972", null ],
[ "realField_D", "Fields_8hpp.html#a07696cb4534f44f0531c68c39904d4cf", null ],
[ "realField_H", "Fields_8hpp.html#abf2e389d4f000580ce5dddf0bb71813e", null ],
[ "realx3Field_D", "Fields_8hpp.html#a7c910c47fac98a967d343e8994298262", null ],
[ "realx3Field_H", "Fields_8hpp.html#a7aa26effedde9901c6a4f072a284a110", null ],
[ "realx3x3Field_D", "Fields_8hpp.html#ad4261a4fdbf609e4707d92aa9a033e22", null ],
[ "realx3x3Field_H", "Fields_8hpp.html#a1272208e2f294633a96349ec264939e6", null ],
[ "wordField_H", "Fields_8hpp.html#a6afe32faef869cf73e25c0f5c8fd1807", null ]
];

View File

@ -0,0 +1,15 @@
digraph "src/phasicFlow/containers/Field/Fields.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/phasicFlow/containers\l/Field/Fields.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="src/phasicFlow/containers\l/Field/Fields.cpp",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$Fields_8cpp.html",tooltip=" "];
Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="src/phasicFlow/structured\lData/pointStructure/internalPoints\l/internalPoints.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$internalPoints_8hpp.html",tooltip=" "];
Node1 -> Node132 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node132 [label="src/phasicFlow/triSurface\l/triSurface.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$triSurface_8hpp.html",tooltip=" "];
Node1 -> Node147 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node147 [label="src/phasicFlow/triSurface\l/triSurfaceKernels.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$triSurfaceKernels_8hpp.html",tooltip=" "];
}

View File

@ -0,0 +1,15 @@
digraph "src/phasicFlow/containers/Field/Fields.hpp"
{
// LATEX_PDF_SIZE
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="src/phasicFlow/containers\l/Field/Fields.hpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="types.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$types_8hpp.html",tooltip=" "];
Node1 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node35 [label="Field.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$Field_8hpp.html",tooltip=" "];
Node35 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node36 [label="VectorSingle.hpp",height=0.2,width=0.4,color="red", fillcolor="white", style="filled",URL="$VectorSingle_8hpp.html",tooltip=" "];
Node1 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

Some files were not shown because too many files have changed in this diff Show More