OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Classes | Functions
ReductionLoc.h File Reference
#include "PETE/IpplExpressions.h"
#include "Field/ReductionLoc.hpp"
Include dependency graph for ReductionLoc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FindLocation< D >
 

Functions

template<class T , class CompOp , class AccOp , unsigned D>
T::PETE_Return_t Reduction (const PETE_Expr< T > &const_expr, CompOp comp_op, AccOp acc_op, NDIndex< D > &loc)
 
template<class T , class C , unsigned int D>
int for_each (const IndexedBareFieldIterator< T, D > &expr, FindLocation< D > &find_loc, C)
 
template<class T , class C , unsigned int D>
int for_each (const BareFieldIterator< T, D > &expr, FindLocation< D > &find_loc, C)
 
template<class T , unsigned D>
T::PETE_Expr_t::PETE_Return_t min (const PETE_Expr< T > &expr, NDIndex< D > &loc)
 
template<class T , unsigned D>
T::PETE_Expr_t::PETE_Return_t max (const PETE_Expr< T > &expr, NDIndex< D > &loc)
 

Function Documentation

◆ for_each() [1/2]

template<class T , class C , unsigned int D>
int for_each ( const BareFieldIterator< T, D > &  expr,
FindLocation< D > &  find_loc,
 
)
inline

Definition at line 58 of file ReductionLoc.h.

References BareFieldIterator< T, Dim >::GetCurrentLocation(), and FindLocation< D >::Loc.

Here is the call graph for this function:

◆ for_each() [2/2]

template<class T , class C , unsigned int D>
int for_each ( const IndexedBareFieldIterator< T, D > &  expr,
FindLocation< D > &  find_loc,
 
)
inline

Definition at line 47 of file ReductionLoc.h.

References BareFieldIterator< T, Dim >::GetCurrentLocation(), and FindLocation< D >::Loc.

Here is the call graph for this function:

◆ max()

template<class T , unsigned D>
T::PETE_Expr_t::PETE_Return_t max ( const PETE_Expr< T > &  expr,
NDIndex< D > &  loc 
)
inline

Definition at line 84 of file ReductionLoc.h.

References PETE_Expr< WrappedExpr >::PETE_unwrap(), and Reduction().

Referenced by Expressions::AbsMax(), ParticleBConds< T, Dim >::apply(), PatchBC< T, D, M, C >::apply(), Tracker::applyDrift(), Tracker::applyThinMultipole(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), MultiBunchHandler::calcBunchBeamParameters(), calcEurekaDomain(), CalcParallelInterpolationDomain(), CalcParallelPeriodicDomain(), PartBunchBase< double, 3 >::calculateAngle(), centeredInitialize(), Individual::checkBounds(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), BoxCornerDomain::compute(), OrbitThreader::computeDriftLengthToBoundingBox(), DistributionMoments::computeMeans(), BoundaryGeometry::computeMeshVoxelization(), DistributionMoments::computeNormalizedEmittance(), ParallelTTracker::computeParticleMatterInteraction(), DistributionMoments::computePercentiles(), AmrBoxLib::computeSelfFields_cycl(), LossDataSink::computeSetStatistics(), Distribution::createDistributionFromFile(), SimulatedBinaryCrossover< T >::crossover(), BlendCrossover< T >::crossover(), FTps< T, N >::divide(), ParallelTTracker::doBinaryRepartition(), AmrParticleBase< PLayout >::domainMapping(), CCollimator::doPreCheck(), Probe::doPreCheck(), Septum::doPreCheck(), Stripper::doPreCheck(), CCollimator::doSetGeom(), EllipticDomain::EllipticDomain(), Distribution::emitParticles(), ValueRange< T >::enlargeIfOutside(), BoundingBox::enlargeToContainBoundingBox(), BoundingBox::enlargeToContainPosition(), Option::execute(), SampleCmd::execute(), TrackCmd::execute(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), DistributionMoments::fillMembers(), FTps< T, N >::filter(), ClosedOrbitFinder< Value_type, Size_type, Stepper >::findOrbit(), FM3DMagnetoStaticExtended::FM3DMagnetoStaticExtended(), HashPairBuilder< PBase >::for_each(), HashPairBuilderPeriodic< PBase >::for_each(), HashPairBuilderPeriodicParallel< PBase >::for_each(), HashPairBuilderParallel< PBase >::forEach(), FunctionFaceBCApply(), Distribution::generateBinomial(), PartBunchBase< T, Dim >::get_PBounds(), Rotation3D::getAxis(), Cyclotron::getdiffs(), AmrBoxLib::getEExtrema(), PartBunch::getEExtrema(), BoundingBox::getIntersectionPoint(), Util::getLengthString(), AmrParticleBase< PLayout >::getLocalBounds_m(), OrbitThreader::getMaxDesignEnergy(), FVps< T, N >::getMaxOrder(), DistributionMoments::getMaxR(), Distribution::getMinTOrZ(), Bend2D::getOutline(), IndexMap::getRange(), TrueCondition< T, Dim >::getRange(), Vps< T >::getTopOrder(), FVps< T, N >::getTopOrder(), TBeamline< T >::getTransform(), FDoubleEigen< N >::hqr2(), BoundaryGeometry::initialize(), InterpolationFaceBCApply(), BoundaryGeometry::intersectLineSegmentBoundary(), BoundaryGeometry::intersectTinyLineSegmentBoundary(), LinearExtrapolateFaceBCApply(), Expressions::Max(), Expressions::Maxa(), PartBunchBase< T, Dim >::maximumAmplitudes(), BoxLibLayout< T, Dim >::MaxRefRatio(), ParallelCyclotronTracker::MtsTracker(), Individual::new_gene(), LaserProfile::normalizeProfileData(), MaxNormRadialPeak::operator()(), operator+(), Tps< T >::operator+=(), operator-(), Tps< T >::operator-=(), FTps< T, N >::operator==(), OrbitThreader::OrbitThreader(), PartBins::PartBins(), PeriodicFaceBCApply(), IndexMap::print(), Object::printHelp(), MGPoissonSolver::printLoadBalanceStats(), Quaternion::Quaternion(), FM1DProfile2::readMap(), SampleCmd::SampleCmd(), OpalBeamline::save3DLattice(), FTps< T, N >::scaleMonomials(), FlexibleCollimator::setDescription(), PluginElement::setDimensions(), Distribution::setDistParametersGauss(), StraightGeometry::setElementLength(), VarRadiusGeometry::setElementLength(), ParallelTTracker::setOptionalVariables(), IrregularDomain::setRangeMax(), FieldLayout< Dim >::setup(), MGPoissonSolver::setupMueLuList(), AmrBoxLib::solvePoisson_m(), LossDataSink::splitSets(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), FTps< T, N >::substitute(), FVps< T, N >::substitute(), OpalBeamline::switchElements(), Util::toStringWithThousandSep(), OpalMonitor::update(), Voxel::Voxel(), AmrYtWriter::writeBunch(), H5PartWrapperForPC::writeStepData(), and H5PartWrapperForPT::writeStepData().

Here is the call graph for this function:

◆ min()

template<class T , unsigned D>
T::PETE_Expr_t::PETE_Return_t min ( const PETE_Expr< T > &  expr,
NDIndex< D > &  loc 
)
inline

Definition at line 76 of file ReductionLoc.h.

References PETE_Expr< WrappedExpr >::PETE_unwrap(), and Reduction().

Referenced by IndexMap::almostEqual(), ParticleBConds< T, Dim >::apply(), PatchBC< T, D, M, C >::apply(), Undulator::apply(), calcEurekaDomain(), CalcParallelInterpolationDomain(), CalcParallelPeriodicDomain(), Individual::checkBounds(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), BoundaryGeometry::computeMeshVoxelization(), Mesher::computeMinimumAngle(), ParallelTTracker::computeParticleMatterInteraction(), cos(), cosh(), SimulatedBinaryCrossover< T >::crossover(), BlendCrossover< T >::crossover(), FTps< T, N >::divide(), CCollimator::doPreCheck(), Probe::doPreCheck(), EllipticDomain::EllipticDomain(), ValueRange< T >::enlargeIfOutside(), BoundingBox::enlargeToContainBoundingBox(), BoundingBox::enlargeToContainPosition(), erf(), ParallelTTracker::evenlyDistributeParticles(), SampleCmd::execute(), exp(), ExpMap(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), Tps< T >::filter(), FTps< T, N >::filter(), FunctionFaceBCApply(), PartBunchBase< T, Dim >::get_bounds(), PartBunchBase< T, Dim >::get_PBounds(), Cyclotron::getdiffs(), AmrBoxLib::getEExtrema(), PartBunch::getEExtrema(), AmrParticleBase< PLayout >::getGlobalBounds_m(), Distribution::getMaxTOrZ(), FVps< T, N >::getMinOrder(), IndexMap::getRange(), FTps< T, N >::getSubstOrders(), TBeamline< T >::getTransform(), Tps< T >::getTruncOrder(), Vps< T >::getTruncOrder(), FVps< T, N >::getTruncOrder(), FTps< T, N >::grow(), PyOpal::PyNDGrid::initialiseFixedSpacing(), Tps< T >::integral(), FTps< T, N >::integral(), FFTBoxPoissonSolver::integratedGreensFunction(), InterpolationFaceBCApply(), BoundaryGeometry::intersectLineSegmentBoundary(), BoundaryGeometry::intersectTinyLineSegmentBoundary(), Tps< T >::inverse(), FVps< T, N >::inverse(), FTps< T, N >::inverse(), LinearExtrapolateFaceBCApply(), log(), Matrix< T >::Matrix(), Expressions::Min(), FTps< T, N >::multiply(), Tps< T >::multiply(), Tps< T >::multiplyVariable(), FTps< T, N >::multiplyVariable(), FVps< T, N >::myInverse(), Individual::new_gene(), FVps< T, N >::operator*(), operator+(), Matrix< T >::operator+=(), Tps< T >::operator+=(), operator-(), Matrix< T >::operator-=(), Tps< T >::operator-=(), FTps< T, N >::operator==(), Tps< T >::operator==(), OptimizeCmd::OptimizeCmd(), OrbitThreader::OrbitThreader(), PeriodicFaceBCApply(), Timing::print(), MGPoissonSolver::printLoadBalanceStats(), IndexMap::query(), AmrBoxLib::regrid(), OpalSimulation::run(), run_opal(), SampleCmd::SampleCmd(), FTps< T, N >::scaleMonomials(), Tps< T >::scaleMonomials(), FlexibleCollimator::setDescription(), PluginElement::setDimensions(), IrregularDomain::setRangeMin(), Bend2D::setupFringeWidths(), FFTBoxPoissonSolver::shiftedIntGreensFunction(), sin(), sinh(), sqrt(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), FTps< T, N >::substitute(), FVps< T, N >::substitute(), VpsMap< T >::substitute(), OpalBeamline::switchElements(), OrbitThreader::trackBack(), TransportMap< T, N >::TransportMap(), ParallelTTracker::updateReferenceParticle(), Voxel::Voxel(), AmrYtWriter::writeBunch(), H5PartWrapperForPC::writeStepData(), and H5PartWrapperForPT::writeStepData().

Here is the call graph for this function:

◆ Reduction()

template<class T , class CompOp , class AccOp , unsigned D>
T::PETE_Return_t Reduction ( const PETE_Expr< T > &  const_expr,
CompOp  comp_op,
AccOp  acc_op,
NDIndex< D > &  loc 
)