|
IPPL (Independent Parallel Particle Layer)
IPPL
|
Namespaces | |
| namespace | detail |
| namespace | mpi |
| namespace | random |
Classes | |
| class | BufferHandler |
| Interface for memory buffer handling. More... | |
| class | DefaultBufferHandler |
| Concrete implementation of BufferHandler for managing memory buffers. More... | |
| struct | LogEntry |
| class | LoggingBufferHandler |
| Decorator class for buffer management that adds logging capabilities to buffer operations. More... | |
| class | OrthogonalRecursiveBisection |
| struct | ExtractExpressionRank |
| class | EdgeElement |
| class | Element |
| Base class for all elements. More... | |
| class | HexahedralElement |
| class | QuadrilateralElement |
| class | FEMVector |
| 1D vector used in the context of FEM. More... | |
| class | FiniteElementSpace |
| The FiniteElementSpace class handles the mesh index mapping to vertices and elements and is the base class for other FiniteElementSpace classes (e.g. LagrangeSpace). More... | |
| class | LagrangeSpace |
| A class representing a Lagrange space for finite element methods on a structured, rectilinear grid. More... | |
| class | NedelecSpace |
| A class representing a Nedelec space for finite element methods on a structured, rectilinear grid. More... | |
| class | GaussJacobiQuadrature |
| This is class represents the Gauss-Jacobi quadrature rule on a reference element. More... | |
| class | GaussLegendreQuadrature |
| This is class represents the Gauss-Legendre quadrature rule. It is a special case of the Gauss-Jacobi quadrature rule with alpha = beta = 0.0. More... | |
| class | ChebyshevGaussQuadrature |
| This is class represents the Chebyshev-Gauss quadrature rule. It is a special case of the Gauss-Jacobi quadrature rule with alpha = beta = -0.5. More... | |
| class | MidpointQuadrature |
| This is a class representing the midpoint quadrature rule. More... | |
| class | Quadrature |
| This is the base class for all quadrature rules. More... | |
| class | CCTransform |
| class | RCTransform |
| class | SineTransform |
| class | CosTransform |
| class | Cos1Transform |
| class | FFTBase |
| class | FFT |
| class | FFT< CCTransform, ComplexField > |
| class | FFT< RCTransform, RealField > |
| class | FFT< SineTransform, Field > |
| class | FFT< CosTransform, Field > |
| class | FFT< Cos1Transform, Field > |
| class | BareField |
| class | BConds |
| class | ExtrapolateFace |
| class | NoBcFace |
| class | ConstantFace |
| class | ZeroFace |
| class | PeriodicFace |
| class | Field |
| class | FieldLayout |
| class | SubFieldLayout |
| SubFieldLayout provides a layout for a sub-region of a larger field. More... | |
| class | Index |
| class | NDIndex |
| class | ParticleInteractionBase |
| class | TruncatedGreenParticleInteraction |
| class | CG |
| class | CG< OperatorRet, LowerRet, UpperRet, UpperLowerRet, InverseDiagRet, FEMVector< T >, FEMVector< T > > |
| class | PCG |
| struct | preconditioner |
| struct | jacobi_preconditioner |
| struct | polynomial_newton_preconditioner |
| struct | polynomial_chebyshev_preconditioner |
| struct | richardson_preconditioner |
| struct | richardson_preconditioner_alt |
| struct | gs_preconditioner |
| struct | ssor_preconditioner |
| class | SolverAlgorithm |
| class | BaseManager |
| A base class for managing simulations using IPPL. More... | |
| class | FieldSolverBase |
| class | PicManager |
| A template class for managing Particle-in-Cell (PIC) simulations. More... | |
| class | FDTDSolverBase |
| Base class for FDTD solvers in the ippl library. More... | |
| struct | EvalFunctor |
| Representation of the lhs of the problem we are trying to solve. More... | |
| class | FEMMaxwellDiffusionSolver |
| A solver for the electric diffusion equation given by \( \nabla \times \nabla \times E + E = f \text{ in } \Omega\) and \( n \times E = 0 \text{ on } \partial \Omega\) using the Nédélec basis functions. More... | |
| class | Maxwell |
| class | NonStandardFDTDSolver |
| A solver for Maxwell's equations using a non-standard Finite-Difference Time-Domain (FDTD) method. More... | |
| class | StandardFDTDSolver |
| A solver for Maxwell's equations using the Finite-Difference Time-Domain (FDTD) method. More... | |
| class | Mesh |
| class | UniformCartesian |
| class | ParticleAttrib |
| class | ParticleBaseBase |
| class | ParticleBase |
| class | ParticleSpatialLayout |
| struct | increment_type |
| class | ParticleSpatialOverlapLayout |
| class | FEMPoissonSolver |
| A solver for the poisson equation using finite element methods and Conjugate Gradient (CG). More... | |
| class | FFTOpenPoissonSolver |
| class | FFTPeriodicPoissonSolver |
| class | FFTTruncatedGreenPeriodicPoissonSolver |
| class | NullSolver |
| class | Poisson |
| class | PoissonCG |
| class | PreconditionedFEMPoissonSolver |
| A solver for the poisson equation using finite element methods and Conjugate Gradient (CG). More... | |
| class | NDRegion |
| class | PRegion |
| struct | TupleImpl |
| Implementation details for the Tuple class. More... | |
| struct | TupleImpl< i, N, T, R, Ts... > |
| struct | TupleImpl< i, N, T > |
| Partial specialization of TupleImpl for handling the terminal element. More... | |
| class | Tuple |
| Generic tuple class with various operations. More... | |
| struct | TupleTypeImpl |
| struct | TupleTypeImpl< 0, T, Ts... > |
| class | Vector |
| struct | RangePolicy |
| struct | RangePolicy< 1, PolicyArgs... > |
| class | ParameterList |
Typedefs | |
| template<typename T, unsigned NumVertices> | |
| using | Element1D = Element<T, 1, NumVertices> |
| Base class for all 1D elements. | |
| template<typename T, unsigned NumVertices> | |
| using | Element2D = Element<T, 2, NumVertices> |
| Base class for all 2D elements. | |
| template<typename T, unsigned NumVertices> | |
| using | Element3D = Element<T, 3, NumVertices> |
| Base class for all 3D elements. | |
| template<std::size_t Idx, typename... Ts> | |
| using | TupleType = typename TupleTypeImpl<Idx, Ts...>::type |
Enumerations | |
| enum | InitialGuessType { Chebyshev , LehrFEM } |
| enum | FFTComm { a2av = 0 , a2a = 1 , p2p = 2 , p2p_pl = 3 } |
| enum | TransformDirection { FORWARD , BACKWARD } |
| enum | FieldBC { PERIODIC_FACE = 0b0000 , CONSTANT_FACE = 0b0001 , ZERO_FACE = 0b0011 , EXTRAPOLATE_FACE = 0b0100 , NO_FACE = 0b1000 } |
| enum | e_cube_tag { UPPER = 0 , LOWER = 1 , IS_PARALLEL = 2 } |
| enum | fdtd_bc { periodic , absorbing } |
| enum | BC { PERIODIC , REFLECTIVE , SINK , NO } |
Functions | |
| void | serializeString (std::vector< char > &buffer, const std::string &str) |
| std::string | deserializeString (const std::vector< char > &buffer, size_t &offset) |
| template<typename T> | |
| void | serializeBasicType (std::vector< char > &buffer, const T &value) |
| template<typename T> | |
| T | deserializeBasicType (const std::vector< char > &buffer, size_t &offset) |
| template<typename View, typename Coords, size_t... Idx> | |
| KOKKOS_INLINE_FUNCTION constexpr decltype(auto) | apply_impl (const View &view, const Coords &coords, const std::index_sequence< Idx... > &) |
| template<typename View, typename Coords> | |
| KOKKOS_INLINE_FUNCTION constexpr decltype(auto) | apply (const View &view, const Coords &coords) |
| template<typename E1, size_t N1, typename E2, size_t N2> | |
| KOKKOS_INLINE_FUNCTION detail::meta_cross< E1, E2 > | cross (const detail::Expression< E1, N1 > &u, const detail::Expression< E2, N2 > &v) |
| template<typename E1, size_t N1, typename E2, size_t N2> | |
| KOKKOS_INLINE_FUNCTION detail::meta_dot< E1, E2 > | dot (const detail::Expression< E1, N1 > &u, const detail::Expression< E2, N2 > &v) |
| template<typename T, unsigned Dim> | |
| KOKKOS_INLINE_FUNCTION void | locate_element_nd_and_xi (const Vector< T, Dim > &hr, const Vector< T, Dim > &origin, const Vector< T, Dim > &x, Vector< size_t, Dim > &e_nd, Vector< T, Dim > &xi) |
| Mapping from global position to element ND index and reference coordinates (xi ∈ [0,1)^Dim) on a UniformCartesian mesh. | |
| template<class View, class IVec, std::size_t... Is> | |
| KOKKOS_INLINE_FUNCTION auto | view_ptr_impl (View &v, const IVec &I, std::index_sequence< Is... >) -> decltype(&v(I[Is]...)) |
| template<int D, class View, class IVec> | |
| KOKKOS_INLINE_FUNCTION auto | view_ptr (View &v, const IVec &I) -> decltype(view_ptr_impl(v, I, std::make_index_sequence< D >{})) |
| template<typename AttribIn, typename Field, typename PosAttrib, typename Space, typename policy_type = Kokkos::RangePolicy<typename Field::execution_space>> | |
| void | assemble_rhs_from_particles (const AttribIn &attrib, Field &f, const PosAttrib &pp, const Space &space, policy_type iteration_policy) |
| Assemble a P1 FEM load vector (RHS) from particle attributes. | |
| template<class View, class IVec, std::size_t... Is> | |
| KOKKOS_INLINE_FUNCTION decltype(auto) | view_ref_impl (View &v, const IVec &I, std::index_sequence< Is... >) |
| template<int D, class View, class IVec> | |
| KOKKOS_INLINE_FUNCTION decltype(auto) | view_ref (View &v, const IVec &I) |
| template<typename AttribOut, typename Field, typename PosAttrib, typename Space, typename policy_type = Kokkos::RangePolicy<typename Field::execution_space>> | |
| void | interpolate_to_diracs (AttribOut &attrib_out, const Field &coeffs, const PosAttrib &pp, const Space &space, policy_type iteration_policy) |
| Interpolate a P1 FEM field to particle positions. | |
| template<typename T> | |
| T | innerProduct (const FEMVector< T > &a, const FEMVector< T > &b) |
Calculate the inner product between two ippl::FEMVector(s). | |
| template<typename T> | |
| T | norm (const FEMVector< T > &v, int p=2) |
| constexpr unsigned | calculateNumElementVertices (unsigned Dim) |
| DefineReduction (Sum, sum, valL+=myVal, std::plus) DefineReduction(Max | |
| std::greater | DefineReduction (Min, min, using Kokkos::min;valL=min(valL, myVal), std::less) DefineReduction(Prod |
| template<typename BareField> | |
| BareField::value_type | innerProduct (const BareField &f1, const BareField &f2) |
| template<typename BareField> | |
| BareField::value_type | norm (const BareField &field, int p=2) |
| template<typename Field, unsigned Dim> | |
| std::ostream & | operator<< (std::ostream &os, const BConds< Field, Dim > &bc) |
| template<typename Field> | |
| detail::meta_grad< Field > | grad (Field &u) |
| template<typename Field> | |
| detail::meta_div< Field > | div (Field &u) |
| template<typename Field> | |
| detail::meta_laplace< Field > | laplace (Field &u) |
| template<typename Field> | |
| detail::meta_curl< Field > | curl (Field &u) |
| template<typename Field> | |
| detail::meta_hess< Field > | hess (Field &u) |
| template<unsigned Dim> | |
| std::ostream & | operator<< (std::ostream &, const FieldLayout< Dim > &) |
| std::ostream & | operator<< (std::ostream &out, const Index &I) |
| KOKKOS_INLINE_FUNCTION Index | operator+ (const Index &i, int off) |
| KOKKOS_INLINE_FUNCTION Index | operator+ (int off, const Index &i) |
| KOKKOS_INLINE_FUNCTION Index | operator- (const Index &i, int off) |
| KOKKOS_INLINE_FUNCTION Index | operator- (int off, const Index &i) |
| KOKKOS_INLINE_FUNCTION Index | operator- (const Index &i) |
| KOKKOS_INLINE_FUNCTION Index | operator* (const Index &i, int m) |
| KOKKOS_INLINE_FUNCTION Index | operator* (int m, const Index &i) |
| KOKKOS_INLINE_FUNCTION Index | operator/ (const Index &i, int d) |
| KOKKOS_INLINE_FUNCTION void | lcm (int s1, int s2, int &s, int &m1, int &m2) |
| static KOKKOS_INLINE_FUNCTION Index | do_intersect (const Index &a, const Index &b) |
| template<unsigned Dim> | |
| std::ostream & | operator<< (std::ostream &out, const NDIndex< Dim > &idx) |
| template<unsigned Dim> | |
| bool | operator== (const NDIndex< Dim > &nd1, const NDIndex< Dim > &nd2) |
| template<unsigned Dim> | |
| bool | operator!= (const NDIndex< Dim > &nd1, const NDIndex< Dim > &nd2) |
| void | initialize (int &argc, char *argv[], MPI_Comm comm) |
| void | finalize () |
| void | fence () |
| void | abort (const char *msg, int errorcode) |
| template<typename Field, typename Functor> | |
| double | powermethod (Functor &&f, Field &x_0, unsigned int max_iter=5000, double tol=1e-3) |
| template<typename Field, typename Functor> | |
| double | adapted_powermethod (Functor &&f, Field &x_0, double lambda_max, unsigned int max_iter=5000, double tol=1e-3) |
| template<typename Attrib1, typename Field, typename Attrib2, typename policy_type = Kokkos::RangePolicy<typename Field::execution_space>> | |
| void | scatter (const Attrib1 &attrib, Field &f, const Attrib2 &pp) |
| Non-class interface for scattering particle attribute data onto a field. | |
| template<typename Attrib1, typename Field, typename Attrib2, typename policy_type = Kokkos::RangePolicy<typename Field::execution_space>> | |
| void | scatter (const Attrib1 &attrib, Field &f, const Attrib2 &pp, policy_type iteration_policy, typename Attrib1::hash_type hash_array={}) |
| Non-class interface for scattering with a custom iteration policy and optional index array. | |
| template<typename Attrib1, typename Field, typename Attrib2> | |
| void | gather (Attrib1 &attrib, Field &f, const Attrib2 &pp, const bool addToAttribute=false) |
| Non-class interface for gathering field data into a particle attribute. | |
| DefineParticleReduction (Sum, sum, valL+=myVal, std::plus) DefineParticleReduction(Max | |
| if (myVal > valL) valL | |
| std::greater | DefineParticleReduction (Min, min, if(myVal< valL) valL=myVal, std::less) DefineParticleReduction(Prod |
| template<typename Field> | |
| detail::meta_poisson< Field > | poisson (Field &u) |
| template<typename Field> | |
| detail::meta_lower_laplace< Field > | lower_laplace (Field &u) |
| template<typename Field> | |
| detail::meta_lower_laplace< Field > | lower_laplace_no_comm (Field &u) |
| template<typename Field> | |
| detail::meta_upper_laplace< Field > | upper_laplace (Field &u) |
| template<typename Field> | |
| detail::meta_upper_laplace< Field > | upper_laplace_no_comm (Field &u) |
| template<typename Field> | |
| detail::meta_upper_and_lower_laplace< Field > | upper_and_lower_laplace (Field &u) |
| template<typename Field> | |
| detail::meta_upper_and_lower_laplace< Field > | upper_and_lower_laplace_no_comm (Field &u) |
| template<typename Field> | |
| double | negative_inverse_diagonal_laplace (Field &u) |
| template<typename Field> | |
| double | diagonal_laplace (Field &u) |
| template<typename Field> | |
| void | mult (Field &u, const double c) |
| template<typename T, unsigned Dim> | |
| std::ostream & | operator<< (std::ostream &out, const NDRegion< T, Dim > &idx) |
| template<typename T> | |
| std::ostream & | operator<< (std::ostream &out, const PRegion< T > &r) |
| template<std::size_t Idx, typename... Ts> | |
| KOKKOS_INLINE_FUNCTION auto & | get (Tuple< Ts... > &t) |
| Accessor function to get an element mutable reference at a specific index from a Tuple. | |
| template<std::size_t Idx, typename... Ts> | |
| KOKKOS_INLINE_FUNCTION const auto & | get (const Tuple< Ts... > &t) |
| Accessor function to get a element const reference at a specific index from a Tuple. | |
| template<typename... Ts> | |
| KOKKOS_INLINE_FUNCTION Tuple< Ts... > | makeTuple (Ts &&... args) |
| Function to create a Tuple with specified elements. | |
| template<typename T, unsigned Dim> | |
| KOKKOS_INLINE_FUNCTION Vector< T, Dim > | min (const Vector< T, Dim > &a, const Vector< T, Dim > &b) |
| template<typename T, unsigned Dim> | |
| KOKKOS_INLINE_FUNCTION Vector< T, Dim > | max (const Vector< T, Dim > &a, const Vector< T, Dim > &b) |
| template<typename T, unsigned Dim> | |
| std::ostream & | operator<< (std::ostream &out, const Vector< T, Dim > &v) |
| template<class... PolicyArgs, typename View> | |
| RangePolicy< View::rank, typenameView::execution_space, PolicyArgs... >::policy_type | getRangePolicy (const View &view, int shift=0) |
| template<size_t Dim, class... PolicyArgs> | |
| RangePolicy< Dim, PolicyArgs... >::policy_type | createRangePolicy (const Kokkos::Array< typename RangePolicy< Dim, PolicyArgs... >::index_type, Dim > &begin, const Kokkos::Array< typename RangePolicy< Dim, PolicyArgs... >::index_type, Dim > &end) |
| template<class ExecPolicy, class FunctorType> | |
| void | parallel_for (const std::string &name, const ExecPolicy &policy, const FunctorType &functor) |
| template<class ExecPolicy, class FunctorType, class... ReducerArgument> | |
| void | parallel_reduce (const std::string &name, const ExecPolicy &policy, const FunctorType &functor, ReducerArgument &&... reducer) |
Variables | |
| max | |
| valL = max(valL, myVal) | |
| std::greater | prod |
| std::unique_ptr< mpi::Communicator > | Comm = 0 |
| std::unique_ptr< mpi::Environment > | Env = 0 |
| std::unique_ptr< Inform > | Info = 0 |
| std::unique_ptr< Inform > | Warn = 0 |
| std::unique_ptr< Inform > | Error = 0 |
Implementations for FFT constructor/destructor and transforms
| using ippl::Element1D = Element<T, 1, NumVertices> |
| using ippl::Element2D = Element<T, 2, NumVertices> |
| using ippl::Element3D = Element<T, 3, NumVertices> |
| using ippl::TupleType = typename TupleTypeImpl<Idx, Ts...>::type |
| enum ippl::BC |
| Enumerator | |
|---|---|
| PERIODIC | |
| REFLECTIVE | |
| SINK | |
| NO | |
Definition at line 11 of file ParticleBC.h.
| enum ippl::e_cube_tag |
| Enumerator | |
|---|---|
| UPPER | |
| LOWER | |
| IS_PARALLEL | |
Definition at line 32 of file FieldLayout.h.
| enum ippl::fdtd_bc |
| Enumerator | |
|---|---|
| periodic | |
| absorbing | |
Definition at line 14 of file FDTDSolverBase.h.
| enum ippl::FFTComm |
| enum ippl::FieldBC |
| Enumerator | |
|---|---|
| Chebyshev | |
| LehrFEM | |
Definition at line 13 of file GaussJacobiQuadrature.h.
| void ippl::abort | ( | const char * | msg, |
| int | errorcode ) |
| double ippl::adapted_powermethod | ( | Functor && | f, |
| Field & | x_0, | ||
| double | lambda_max, | ||
| unsigned int | max_iter = 5000, | ||
| double | tol = 1e-3 ) |
Computes the smallest Eigenvalue of the Functor f (f must be symmetric positive definite)
| f | Functor |
| x_0 | initial guess |
| lambda_max | largest Eigenvalue |
| max_iter | maximum number of iterations |
| tol | tolerance |
Definition at line 639 of file Preconditioner.h.
References ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::deepCopy(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), and norm().
|
constexpr |
Accesses the element of a view at the indices contained in an array-like structure instead of having the indices being separate arguments
| View | the view type |
| Coords | an array-like container of indices |
| view | the view to access |
| coords | the indices |
Definition at line 64 of file IpplOperations.h.
References apply_impl().
Referenced by ippl::ExtrapolateFace< Field >::apply(), ippl::PeriodicFace< Field >::apply(), ippl::detail::HaloCells< T, Dim, ViewArgs >::applyPeriodicSerialDim(), ippl::ExtrapolateFace< Field >::assignGhostToPhysical(), ippl::PeriodicFace< Field >::assignGhostToPhysical(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::computeAvg(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::computeErrorL2(), ChargedParticles< PLayout, T, Dim >::dumpBumponTail(), BumponTailInstabilityManager< T, Dim >::dumpBumponTailInstability(), ChargedParticles< PLayout, T, Dim >::dumpData(), PenningTrapManager< T, Dim >::dumpData(), ChargedParticles< PLayout, T, Dim >::dumpLandau(), LandauDampingManager< T, Dim >::dumpLandau(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_diag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_inversediag(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_lift(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_lower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upper(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_upperlower(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateLoadVector(), ippl::detail::meta_hess< E >::hessianEntry(), BumponTailInstabilityManager< T, Dim >::initializeParticles(), LandauDampingManager< T, Dim >::initializeParticles(), PenningTrapManager< T, Dim >::initializeParticles(), innerProduct(), main(), norm(), ippl::detail::meta_div< E >::operator()(), ippl::detail::meta_grad< E >::operator()(), ippl::detail::meta_laplace< E >::operator()(), ippl::detail::meta_lower_laplace< E >::operator()(), ippl::detail::meta_poisson< E >::operator()(), ippl::detail::meta_upper_and_lower_laplace< E >::operator()(), ippl::detail::meta_upper_laplace< E >::operator()(), second_order_abc_corner< _scalar, x0, y0, z0 >::operator()(), second_order_abc_edge< _scalar, edge_axis, normal_axis1, normal_axis2, na1_zero, na2_zero >::operator()(), second_order_abc_face< _scalar, _main_axis, _side_axes >::operator()(), ippl::BareField< T, Dim, ViewArgs >::operator=(), ippl::BareField< T, Dim, ViewArgs... >::operator=(), ippl::detail::HaloCells< T, Dim, ViewArgs >::pack(), ippl::OrthogonalRecursiveBisection< Field, Tp >::perpendicularReduction(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFT< CCTransform, ComplexField >::transform(), ippl::FFT< Cos1Transform, Field >::transform(), ippl::FFT< CosTransform, Field >::transform(), ippl::FFT< RCTransform, RealField >::transform(), ippl::FFT< SineTransform, Field >::transform(), and ippl::detail::HaloCells< T, Dim, ViewArgs >::unpack().
|
constexpr |
Utility function for apply (see its docstring)
| Idx... | indices of the elements to take (in practice, always the sequence of natural numbers up to the dimension of the view) |
Definition at line 22 of file IpplOperations.h.
Referenced by apply().
|
inline |
Assemble a P1 FEM load vector (RHS) from particle attributes.
For each particle position x, locate the owning element (ND index e_nd) and reference coordinate xi. Deposit the particle attribute value into the element's nodal DOFs using P1 Lagrange shape functions evaluated at xi.
| AttribIn | Particle attribute type with getView()(p) -> scalar |
| Field | ippl::Field with rank=Dim nodal coefficients (RHS) |
| PosAttrib | Particle position attribute with getView()(p) -> Vector<T,Dim> |
| Space | Lagrange space providing element/DOF/topology queries |
| policy_type | Kokkos execution policy (defaults to Field::execution_space) |
Definition at line 60 of file FEMInterpolate.hpp.
References ippl::BareField< T, Dim, ViewArgs >::accumulateHalo(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::NDIndex< Dim >::first(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), ippl::FieldLayout< Dim >::getLocalNDIndex(), ippl::Mesh< T, Dim >::getMeshSpacing(), ippl::BareField< T, Dim, ViewArgs >::getNghost(), ippl::Mesh< T, Dim >::getOrigin(), IpplTimings::getTimer(), ippl::BareField< T, Dim, ViewArgs >::getView(), locate_element_nd_and_xi(), IpplTimings::startTimer(), IpplTimings::stopTimer(), and view_ptr().
|
constexpr |
Definition at line 22 of file FiniteElementSpace.h.
References Dim.
| RangePolicy< Dim, PolicyArgs... >::policy_type ippl::createRangePolicy | ( | const Kokkos::Array< typename RangePolicy< Dim, PolicyArgs... >::index_type, Dim > & | begin, |
| const Kokkos::Array< typename RangePolicy< Dim, PolicyArgs... >::index_type, Dim > & | end ) |
Create a range policy for an index range given in the form of arrays (required because Kokkos doesn't allow the initialization of 1D range policies using arrays)
| Dim | the dimension of the range |
| PolicyArgs... | additional template parameters for the range policy |
| begin | the starting indices |
| end | the ending indices |
Definition at line 88 of file ParallelDispatch.h.
References Dim.
Referenced by ippl::ExtrapolateFace< Field >::apply(), ippl::PeriodicFace< Field >::apply(), ippl::detail::HaloCells< T, Dim, ViewArgs >::applyPeriodicSerialDim(), ippl::ExtrapolateFace< Field >::assignGhostToPhysical(), ippl::PeriodicFace< Field >::assignGhostToPhysical(), and ippl::OrthogonalRecursiveBisection< Field, Tp >::perpendicularReduction().
| KOKKOS_INLINE_FUNCTION detail::meta_cross< E1, E2 > ippl::cross | ( | const detail::Expression< E1, N1 > & | u, |
| const detail::Expression< E2, N2 > & | v ) |
Definition at line 246 of file IpplOperations.h.
Referenced by ippl::detail::meta_cross< E1, E2 >::operator()().
| detail::meta_curl< Field > ippl::curl | ( | Field & | u | ) |
User interface of curl in three dimensions.
| u | field |
Definition at line 81 of file FieldOperations.hpp.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), and ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC().
References DefineParticleReduction(), if(), min(), prod, and valL.
| ippl::DefineParticleReduction | ( | Sum | , |
| sum | , | ||
| valL+ | = myVal, | ||
| std::plus | ) |
References valL.
Referenced by DefineParticleReduction(), and if().
| ippl::DefineReduction | ( | Sum | , |
| sum | , | ||
| valL+ | = myVal, | ||
| std::plus | ) |
| T ippl::deserializeBasicType | ( | const std::vector< char > & | buffer, |
| size_t & | offset ) |
Definition at line 33 of file LogEntry.h.
Referenced by ippl::LogEntry::deserialize(), and deserializeString().
| std::string ippl::deserializeString | ( | const std::vector< char > & | buffer, |
| size_t & | offset ) |
Definition at line 11 of file LogEntry.cpp.
References deserializeBasicType().
Referenced by ippl::LogEntry::deserialize().
Definition at line 346 of file LaplaceHelpers.h.
References Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, and ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().
| detail::meta_div< Field > ippl::div | ( | Field & | u | ) |
User interface of divergence in three dimensions.
| u | field |
Definition at line 36 of file FieldOperations.hpp.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC(), and ippl::Mesh< T, Dim >::getMeshSpacing().
Definition at line 271 of file Index.hpp.
References ippl::Index::first(), lcm(), ippl::Index::length(), ippl::Index::max(), PAssert_GE, PAssert_GT, and ippl::Index::stride().
Referenced by ippl::Index::general_intersect().
| KOKKOS_INLINE_FUNCTION detail::meta_dot< E1, E2 > ippl::dot | ( | const detail::Expression< E1, N1 > & | u, |
| const detail::Expression< E2, N2 > & | v ) |
Definition at line 293 of file IpplOperations.h.
Referenced by ippl::detail::meta_div< E >::operator()(), ippl::detail::meta_dot< E1, E2 >::operator()(), ippl::EvalFunctor< T, Dim, numElementDOFs >::operator()(), and ippl::EvalFunctor< T, Dim, numElementDOFs >::operator()().
| void ippl::finalize | ( | ) |
|
inline |
Non-class interface for gathering field data into a particle attribute.
This interface calls the member ParticleAttrib::gather() function with the provided parameters and preserving legacy behavior by assigning addToAttribute a default value.
| Attrib1 | The type of the particle attribute. |
| Field | The type of the field. |
| Attrib2 | The type of the particle position attribute. |
| attrib | The particle attribute to gather data into. |
| f | The field from which data is gathered. |
| pp | The ParticleAttrib representing particle positions. |
| addToAttribute | If true, the gathered field value is added to the current attribute value; otherwise, the attribute value is overwritten. |
Definition at line 327 of file ParticleAttrib.hpp.
| KOKKOS_INLINE_FUNCTION const auto & ippl::get | ( | const Tuple< Ts... > & | t | ) |
| KOKKOS_INLINE_FUNCTION auto & ippl::get | ( | Tuple< Ts... > & | t | ) |
Accessor function to get an element mutable reference at a specific index from a Tuple.
| t | Tuple from which to retrieve the element. |
Definition at line 314 of file Tuple.h.
References get().
Referenced by ippl::ParticleBase< PLayout, IDProperties >::addAttribute(), ippl::ParticleBase< ippl::ParticleSpatialLayout< T, 3 > >::addAttribute(), ippl::ParticleBase< ippl::ParticleSpatialLayout< T, Dim > >::forAllAttributes(), ippl::ParticleBase< ippl::ParticleSpatialLayout< T, Dim > >::forAllAttributes(), get(), get(), ippl::TupleImpl< i, N, T, R, Ts... >::get(), ippl::TupleImpl< i, N, T, R, Ts... >::get(), ippl::ParticleBase< ippl::ParticleSpatialLayout< T, Dim > >::getAttribute(), ippl::ParticleBase< ippl::ParticleSpatialLayout< T, Dim > >::getAttributeNum(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::getHessian(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::initialize(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), ippl::ParticleBase< PLayout, IDProperties >::pack(), ippl::ParticleBase< PLayout, IDProperties >::sendToRank(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setGradFD(), ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::solve(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::solve(), ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::TruncatedGreenParticleInteraction< ParticleContainer, VectorAttribute, ScalarAttribute >::solve(), and ippl::ParticleBase< PLayout, IDProperties >::unpack().
| RangePolicy< View::rank, typenameView::execution_space, PolicyArgs... >::policy_type ippl::getRangePolicy | ( | const View & | view, |
| int | shift = 0 ) |
Create a range policy that spans an entire Kokkos view, excluding a specifiable number of ghost cells at the extremes.
| Tag | range policy tag |
| View | the view type |
| view | to span |
| shift | number of ghost cells |
Definition at line 56 of file ParallelDispatch.h.
References Dim.
Referenced by second_order_mur_boundary_conditions::apply(), ChargedParticles< PLayout, T, Dim >::dumpBumponTail(), BumponTailInstabilityManager< T, Dim >::dumpBumponTailInstability(), ChargedParticles< PLayout, T, Dim >::dumpData(), PenningTrapManager< T, Dim >::dumpData(), ChargedParticles< PLayout, T, Dim >::dumpLandau(), LandauDampingManager< T, Dim >::dumpLandau(), ippl::BareField< T, Dim, ViewArgs... >::getFieldRangePolicy(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::initializeFields(), main(), ippl::BareField< T, Dim, ViewArgs >::operator=(), ippl::BareField< T, Dim, ViewArgs... >::operator=(), ippl::detail::HaloCells< T, Dim, ViewArgs >::pack(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::NonStandardFDTDSolver< EMField, SourceField, boundary_conditions >::step(), ippl::StandardFDTDSolver< EMField, SourceField, boundary_conditions >::step(), ippl::FFT< CCTransform, ComplexField >::transform(), ippl::FFT< Cos1Transform, Field >::transform(), ippl::FFT< CosTransform, Field >::transform(), ippl::FFT< RCTransform, RealField >::transform(), ippl::FFT< SineTransform, Field >::transform(), and ippl::detail::HaloCells< T, Dim, ViewArgs >::unpack().
| detail::meta_grad< Field > ippl::grad | ( | Field & | u | ) |
User interface of gradient
| u | field |
Definition at line 12 of file FieldOperations.hpp.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC(), and ippl::Mesh< T, Dim >::getMeshSpacing().
Referenced by ippl::Poisson< FieldLHS, FieldRHS >::setGradient(), ippl::FEMPoissonSolver< FieldLHS, FieldRHS, Order, QuadNumNodes >::solve(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::solve(), and ippl::PreconditionedFEMPoissonSolver< FieldLHS, FieldRHS >::solve().
| detail::meta_hess< Field > ippl::hess | ( | Field & | u | ) |
User interface of Hessian in three dimensions.
| u | field |
Definition at line 106 of file FieldOperations.hpp.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC(), and ippl::Mesh< T, Dim >::getMeshSpacing().
Referenced by ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve().
| ippl::if | ( | myVal | , |
| valL | ) |
References DefineParticleReduction(), if(), max, and valL.
Referenced by DefineParticleReduction(), if(), and ippl::ParticleSpatialLayout< T, 3 >::ParticleSpatialLayout().
| void ippl::initialize | ( | int & | argc, |
| char * | argv[], | ||
| MPI_Comm | comm ) |
Definition at line 16 of file Ippl.cpp.
References ippl::detail::checkOption(), Comm, IpplInfo::compileOptions(), Timer::enableFences, endl(), Env, Error, ippl::detail::getNumericalOption(), Info, INFORM_ALL_NODES, IpplInfo::printHelp(), IpplInfo::printVersion(), and Warn.
Referenced by main(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::setRhs(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::setRhs(), and ippl::UniformCartesian< T, Dim >::UniformCartesian().
| BareField::value_type ippl::innerProduct | ( | const BareField & | f1, |
| const BareField & | f2 ) |
Computes the inner product of two fields
| f1 | first field |
| f2 | second field |
Definition at line 14 of file BareFieldOperations.hpp.
References apply(), Dim, ippl::BareField< T, Dim, ViewArgs >::dim, ippl::BareField< T, Dim, ViewArgs >::getFieldRangePolicy(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), ippl::BareField< T, Dim, ViewArgs >::getView(), and parallel_reduce().
Calculate the inner product between two ippl::FEMVector(s).
Calculates the inner product \( a^T b\) between the ippl::FEMVector(s) a and b. Note that during the inner product computations the halo cells are included, if this should not be the case the hallo cells should be set to 0 using the ippl::FEMVector::setHalo() function.
| a | First field. |
| b | Second field. |
Definition at line 405 of file FEMVector.h.
References Comm, and ippl::FEMVector< T >::getView().
Referenced by ippl::CG< FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T > >::operator()(), ippl::CG< OperatorRet, LowerRet, UpperRet, UpperLowerRet, InverseDiagRet, FEMVector< T >, FEMVector< T > >::operator()(), and ippl::PCG< lhs_type, lhs_type, lhs_type, lhs_type, lhs_type, FieldLHS, FieldRHS >::operator()().
|
inline |
Interpolate a P1 FEM field to particle positions.
For each particle position x, locate the owning element (ND index e_nd) and reference coordinate xi. Evaluate P1 Lagrange shape functions at xi to combine nodal coefficients and write u(x) to the particle attribute.
| AttribOut | Particle attribute type with getView()(p) -> scalar |
| Field | ippl::Field with rank=Dim nodal coefficients |
| PosAttrib | Particle position attribute with getView()(p) -> Vector<T,Dim> |
| Space | Lagrange space providing element/DOF/topology queries |
| policy_type | Kokkos execution policy (defaults to Field::execution_space) |
Definition at line 156 of file FEMInterpolate.hpp.
References Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::NDIndex< Dim >::first(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), ippl::FieldLayout< Dim >::getLocalNDIndex(), ippl::Mesh< T, Dim >::getMeshSpacing(), ippl::BareField< T, Dim, ViewArgs >::getNghost(), ippl::Mesh< T, Dim >::getOrigin(), IpplTimings::getTimer(), ippl::BareField< T, Dim, ViewArgs >::getView(), locate_element_nd_and_xi(), IpplTimings::startTimer(), and view_ref().
| detail::meta_laplace< Field > ippl::laplace | ( | Field & | u | ) |
User interface of Laplacian
| u | field |
Definition at line 60 of file FieldOperations.hpp.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), and ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver(), and ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::solve().
| KOKKOS_INLINE_FUNCTION void ippl::lcm | ( | int | s1, |
| int | s2, | ||
| int & | s, | ||
| int & | m1, | ||
| int & | m2 ) |
Definition at line 200 of file Index.hpp.
References PAssert_GT.
Referenced by do_intersect().
| KOKKOS_INLINE_FUNCTION void ippl::locate_element_nd_and_xi | ( | const Vector< T, Dim > & | hr, |
| const Vector< T, Dim > & | origin, | ||
| const Vector< T, Dim > & | x, | ||
| Vector< size_t, Dim > & | e_nd, | ||
| Vector< T, Dim > & | xi ) |
Mapping from global position to element ND index and reference coordinates (xi ∈ [0,1)^Dim) on a UniformCartesian mesh.
Assumes the input x is strictly inside the computational domain so that for each dimension d: 0 ≤ (x[d]-origin[d])/h[d] < nr[d]-1.
Definition at line 16 of file FEMInterpolate.hpp.
References Dim.
Referenced by assemble_rhs_from_particles(), and interpolate_to_diracs().
| detail::meta_lower_laplace< Field > ippl::lower_laplace | ( | Field & | u | ) |
User interface of lower triangular Laplacian
| u | field |
Definition at line 222 of file LaplaceHelpers.h.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC(), and lower_laplace_no_comm().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().
| detail::meta_lower_laplace< Field > ippl::lower_laplace_no_comm | ( | Field & | u | ) |
User interface of lower triangular Laplacian without exchange of halo cells
| u | field |
Definition at line 237 of file LaplaceHelpers.h.
References Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), and ippl::BareField< T, Dim, ViewArgs >::getNghost().
Referenced by lower_laplace(), and ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().
| KOKKOS_INLINE_FUNCTION Tuple< Ts... > ippl::makeTuple | ( | Ts &&... | args | ) |
| KOKKOS_INLINE_FUNCTION Vector< T, Dim > ippl::max | ( | const Vector< T, Dim > & | a, |
| const Vector< T, Dim > & | b ) |
Definition at line 226 of file Vector.hpp.
| KOKKOS_INLINE_FUNCTION Vector< T, Dim > ippl::min | ( | const Vector< T, Dim > & | a, |
| const Vector< T, Dim > & | b ) |
Definition at line 217 of file Vector.hpp.
Referenced by ippl::ExtrapolateFace< Field >::apply(), ippl::PeriodicFace< Field >::apply(), ippl::ExtrapolateFace< Field >::assignGhostToPhysical(), ippl::PeriodicFace< Field >::assignGhostToPhysical(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::createPeriodicGhostParticles(), DefineParticleReduction(), DefineReduction(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), ippl::PeriodicFace< Field >::findBCNeighbors(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::getCellIndex(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::isCloseToBoundary(), KokkosCorrection::Min< Scalar, Space >::join(), min(), ippl::mpi::getNontrivialMpiOpImpl< Op, Type >::operator()(), ippl::detail::ParticleBC< T, Dim, ViewType >::ParticleBC(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties... >::positionInRegion(), and ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::positionInRegion().
Definition at line 360 of file LaplaceHelpers.h.
References ippl::BareField< T, Dim, ViewArgs >::getFieldRangePolicy(), and ippl::BareField< T, Dim, ViewArgs >::getView().
Returns the factor by which to multiply the u field to get the inverse of the diagonal of the Laplacian.
| u | field |
Definition at line 329 of file LaplaceHelpers.h.
References Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, and ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().
| BareField::value_type ippl::norm | ( | const BareField & | field, |
| int | p = 2 ) |
Computes the Lp-norm of a field
| field | field |
| p | desired norm (default 2) |
Definition at line 42 of file BareFieldOperations.hpp.
References apply(), Dim, ippl::BareField< T, Dim, ViewArgs >::dim, ippl::BareField< T, Dim, ViewArgs >::getFieldRangePolicy(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), ippl::BareField< T, Dim, ViewArgs >::getView(), and parallel_reduce().
Definition at line 425 of file FEMVector.h.
References Comm, and ippl::FEMVector< T >::getView().
Referenced by adapted_powermethod(), ippl::CG< FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T >, FEMVector< T > >::operator()(), ippl::CG< OperatorRet, LowerRet, UpperRet, UpperLowerRet, InverseDiagRet, FEMVector< T >, FEMVector< T > >::operator()(), and powermethod().
| bool ippl::operator!= | ( | const NDIndex< Dim > & | nd1, |
| const NDIndex< Dim > & | nd2 ) |
Definition at line 218 of file NDIndex.hpp.
|
inline |
Definition at line 396 of file FieldLayout.h.
References ippl::FieldLayout< Dim >::write().
|
inline |
Definition at line 49 of file BConds.h.
References ippl::BConds< Field, Dim >::write().
|
inline |
Definition at line 255 of file Index.h.
References ippl::Index::first(), ippl::Index::last(), and ippl::Index::stride().
|
inline |
Definition at line 61 of file NDIndex.hpp.
References Dim.
|
inline |
Definition at line 95 of file NDRegion.hpp.
References Dim.
|
inline |
Definition at line 102 of file PRegion.hpp.
References ippl::PRegion< T >::max(), and ippl::PRegion< T >::min().
|
inline |
Definition at line 202 of file Vector.hpp.
References Dim.
| bool ippl::operator== | ( | const NDIndex< Dim > & | nd1, |
| const NDIndex< Dim > & | nd2 ) |
Definition at line 208 of file NDIndex.hpp.
References Dim.
| void ippl::parallel_for | ( | const std::string & | name, |
| const ExecPolicy & | policy, | ||
| const FunctorType & | functor ) |
Definition at line 215 of file ParallelDispatch.h.
References ippl::detail::functorize().
Referenced by ippl::ExtrapolateFace< Field >::apply(), ippl::PeriodicFace< Field >::apply(), ippl::detail::HaloCells< T, Dim, ViewArgs >::applyPeriodicSerialDim(), ippl::ExtrapolateFace< Field >::assignGhostToPhysical(), ippl::PeriodicFace< Field >::assignGhostToPhysical(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::evaluateAx_inversediag(), BumponTailInstabilityManager< T, Dim >::initializeParticles(), LandauDampingManager< T, Dim >::initializeParticles(), PenningTrapManager< T, Dim >::initializeParticles(), main(), ippl::BareField< T, Dim, ViewArgs >::operator=(), ippl::BareField< T, Dim, ViewArgs... >::operator=(), ippl::detail::HaloCells< T, Dim, ViewArgs >::pack(), ippl::FFTPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFTTruncatedGreenPeriodicPoissonSolver< FieldLHS, FieldRHS >::solve(), ippl::FFT< CCTransform, ComplexField >::transform(), ippl::FFT< Cos1Transform, Field >::transform(), ippl::FFT< CosTransform, Field >::transform(), ippl::FFT< RCTransform, RealField >::transform(), ippl::FFT< SineTransform, Field >::transform(), and ippl::detail::HaloCells< T, Dim, ViewArgs >::unpack().
| void ippl::parallel_reduce | ( | const std::string & | name, |
| const ExecPolicy & | policy, | ||
| const FunctorType & | functor, | ||
| ReducerArgument &&... | reducer ) |
Definition at line 221 of file ParallelDispatch.h.
References ippl::detail::functorize(), and ippl::detail::REDUCE.
Referenced by ChargedParticles< PLayout, T, Dim >::dumpBumponTail(), BumponTailInstabilityManager< T, Dim >::dumpBumponTailInstability(), ChargedParticles< PLayout, T, Dim >::dumpData(), PenningTrapManager< T, Dim >::dumpData(), ChargedParticles< PLayout, T, Dim >::dumpLandau(), LandauDampingManager< T, Dim >::dumpLandau(), innerProduct(), norm(), and ippl::OrthogonalRecursiveBisection< Field, Tp >::perpendicularReduction().
| detail::meta_poisson< Field > ippl::poisson | ( | Field & | u | ) |
User interface of poisson
| u | field |
Definition at line 207 of file LaplaceHelpers.h.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), and ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC().
| double ippl::powermethod | ( | Functor && | f, |
| Field & | x_0, | ||
| unsigned int | max_iter = 5000, | ||
| double | tol = 1e-3 ) |
Computes the largest Eigenvalue of the Functor f
| f | Functor |
| x_0 | initial guess |
| max_iter | maximum number of iterations |
| tol | tolerance |
Definition at line 604 of file Preconditioner.h.
References ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::deepCopy(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), and norm().
|
inline |
Non-class interface for scattering particle attribute data onto a field.
This overload preserves legacy functionality by providing a default iteration policy. It calls the member scatter() with a default Kokkos::RangePolicy.
| Attrib1 | The type of the particle attribute. |
| Field | The type of the field. |
| Attrib2 | The type of the particle position attribute. |
| policy_type | (Default: Kokkos::RangePolicy<typename Field::execution_space>) |
| attrib | The particle attribute to scatter. |
| f | The field onto which the data is scattered. |
| pp | The ParticleAttrib representing particle positions. |
Definition at line 280 of file ParticleAttrib.hpp.
|
inline |
Non-class interface for scattering with a custom iteration policy and optional index array.
This overload allows the caller to specify a custom Kokkos::range_policy and an optional ippl::hash_type array. It forwards the parameters to the member scatter() function.
| Attrib1 | The type of the particle attribute. |
| Field | The type of the field. |
| Attrib2 | The type of the particle position attribute. |
| policy_type | (Default: Kokkos::RangePolicy<typename Field::execution_space>) |
| attrib | The particle attribute to scatter. |
| f | The field onto which the data is scattered. |
| pp | The ParticleAttrib representing particle positions. |
| iteration_policy | A custom Kokkos::range_policy defining the iteration range. |
| hash_array | An optional ippl::hash_type array for index mapping. |
Definition at line 304 of file ParticleAttrib.hpp.
| void ippl::serializeBasicType | ( | std::vector< char > & | buffer, |
| const T & | value ) |
Definition at line 26 of file LogEntry.h.
Referenced by ippl::LogEntry::serialize(), and serializeString().
| void ippl::serializeString | ( | std::vector< char > & | buffer, |
| const std::string & | str ) |
Definition at line 5 of file LogEntry.cpp.
References serializeBasicType().
Referenced by ippl::LogEntry::serialize().
| detail::meta_upper_and_lower_laplace< Field > ippl::upper_and_lower_laplace | ( | Field & | u | ) |
User interface of upper+lower triangular Laplacian
| u | field |
Definition at line 294 of file LaplaceHelpers.h.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC(), and upper_and_lower_laplace_no_comm().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().
| detail::meta_upper_and_lower_laplace< Field > ippl::upper_and_lower_laplace_no_comm | ( | Field & | u | ) |
User interface of upper+lower triangular Laplacian without exchange of halo cells
| u | field |
Definition at line 309 of file LaplaceHelpers.h.
References Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, and ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver(), and upper_and_lower_laplace().
| detail::meta_upper_laplace< Field > ippl::upper_laplace | ( | Field & | u | ) |
User interface of upper triangular Laplacian
| u | field |
Definition at line 258 of file LaplaceHelpers.h.
References ippl::BConds< Field, Dim >::apply(), Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::BareField< T, Dim, ViewArgs >::fillHalo(), ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::getFieldBC(), and upper_laplace_no_comm().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver().
| detail::meta_upper_laplace< Field > ippl::upper_laplace_no_comm | ( | Field & | u | ) |
User interface of upper triangular Laplacian without exchange of halo cells
| u | field |
Definition at line 273 of file LaplaceHelpers.h.
References Dim, ippl::Field< T, Dim, Mesh_t< Dim >, Centering_t< Dim >, ViewArgs... >::dim, ippl::Field< T, Dim, Mesh, Centering, ViewArgs >::get_mesh(), ippl::BareField< T, Dim, ViewArgs >::getLayout(), and ippl::BareField< T, Dim, ViewArgs >::getNghost().
Referenced by ippl::PoissonCG< Field< T, Dim >, Field_t< Dim > >::setSolver(), and upper_laplace().
| KOKKOS_INLINE_FUNCTION auto ippl::view_ptr | ( | View & | v, |
| const IVec & | I ) -> decltype(view_ptr_impl(v, I, std::make_index_sequence< D >{})) |
Definition at line 40 of file FEMInterpolate.hpp.
Referenced by assemble_rhs_from_particles().
| KOKKOS_INLINE_FUNCTION auto ippl::view_ptr_impl | ( | View & | v, |
| const IVec & | I, | ||
| std::index_sequence< Is... > | ) -> decltype(&v(I[Is]...)) |
Definition at line 33 of file FEMInterpolate.hpp.
| KOKKOS_INLINE_FUNCTION decltype(auto) ippl::view_ref | ( | View & | v, |
| const IVec & | I ) |
Definition at line 137 of file FEMInterpolate.hpp.
References view_ref_impl().
Referenced by interpolate_to_diracs().
| KOKKOS_INLINE_FUNCTION decltype(auto) ippl::view_ref_impl | ( | View & | v, |
| const IVec & | I, | ||
| std::index_sequence< Is... > | ) |
Definition at line 131 of file FEMInterpolate.hpp.
Referenced by view_ref().
|
inline |
Definition at line 22 of file Ippl.h.
Referenced by abort(), ippl::FEMVector< T >::accumulateHalo(), ippl::ParticleBase< ippl::ParticleSpatialLayout< T, 3 > >::addAttribute(), ChargedParticles< PLayout, T, Dim >::balance(), LoadBalancer< T, Dim >::balance(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::buildCells(), checkSignalHandler(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::communicateVico(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::computeAvg(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::computeError(), ippl::LagrangeSpace< T, Dim, Order, ElementType, QuadratureType, FieldLHS, FieldRHS >::computeErrorL2(), ippl::ParticleAttrib< T, Properties >::create(), ippl::ParticleAttrib< ippl::Vector< double, 2 > >::create(), ippl::ParticleBase< PLayout, IDProperties >::create(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::createFEMVector2d(), ippl::NedelecSpace< T, Dim, Order, ElementType, QuadratureType, FieldType >::createFEMVector3d(), ippl::ParticleBase< PLayout, IDProperties >::destroy(), Inform::display_single_line(), BumponTailInstabilityManager< T, Dim >::PhaseDump::dump(), ChargedParticles< PLayout, T, Dim >::dumpBumponTail(), BumponTailInstabilityManager< T, Dim >::dumpBumponTailInstability(), ChargedParticles< PLayout, T, Dim >::dumpData(), PenningTrapManager< T, Dim >::dumpData(), ChargedParticles< PLayout, T, Dim >::dumpLandau(), LandauDampingManager< T, Dim >::dumpLandau(), ChargedParticles< PLayout, T, Dim >::dumpLocalDomains(), ChargedParticles< PLayout, T, Dim >::dumpParticleData(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), ippl::FEMVector< T >::fillHalo(), finalize(), ChargedParticles< PLayout, T, Dim >::gatherStatistics(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::getNonNeighborRanks(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::getParticleNeighborData(), ippl::ParticleBase< PLayout, IDProperties >::globalCreate(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::greensFunction(), Inform::Inform(), BumponTailInstabilityManager< T, Dim >::PhaseDump::initialize(), initialize(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::initializeCells(), BumponTailInstabilityManager< T, Dim >::initializeParticles(), LandauDampingManager< T, Dim >::initializeParticles(), PenningTrapManager< T, Dim >::initializeParticles(), innerProduct(), ippl::random::InverseTransformSampling< T, Dim, DeviceType, Distribution >::InverseTransformSampling(), PenningTrapManager< T, Dim >::LeapFrogStep(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties... >::locateParticles(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::locateParticles(), main(), norm(), ippl::ParticleSpatialLayout< T, 3 >::numberOfSends(), ippl::ParticleAttrib< ippl::Vector< double, 2 > >::operator=(), ippl::detail::HaloCells< T, Dim, ViewArgs >::pack(), ippl::FEMVector< T >::pack(), pack(), ippl::ParticleBase< PLayout, IDProperties >::ParticleBase(), ippl::ParticleBase< ippl::ParticleSpatialLayout< T, 3 > >::ParticleBase(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::particleExchange(), ippl::ParticleSpatialLayout< T, 3 >::ParticleSpatialLayout(), BumponTailInstabilityManager< T, Dim >::pre_run(), Timing::print(), Timing::print(), ippl::ParticleBase< PLayout, IDProperties >::recvFromRank(), ChargedParticles< PLayout, T, Dim >::runSolver(), FieldSolver< T, Dim >::runSolver(), AlpineManager< T, Dim >::scatterCIC(), ChargedParticles< PLayout, T, Dim >::scatterCIC(), setSignalHandler(), ippl::FFTBase< Field, FFT, Backend, BufferType >::setup(), ippl::FFTOpenPoissonSolver< FieldLHS, FieldRHS >::solve(), solver_recv(), solver_send(), ippl::FEMVector< T >::unpack(), ippl::ParticleAttrib< ippl::Vector< double, 2 > >::unpack(), ippl::ParticleSpatialLayout< T, Dim, Mesh, PositionProperties >::update(), ippl::random::InverseTransformSampling< T, Dim, DeviceType, Distribution >::updateBounds(), and ippl::detail::RegionLayout< T, Dim, Mesh, Properties >::write().
|
inline |
Definition at line 24 of file Ippl.h.
Referenced by finalize(), and initialize().
|
inline |
Definition at line 31 of file Ippl.h.
Referenced by abort(), and initialize().
|
inline |
Definition at line 29 of file Ippl.h.
Referenced by initialize(), and Inform::setup().
| ippl::max |
Definition at line 225 of file BareField.hpp.
Referenced by ippl::ExtrapolateFace< Field >::apply(), ippl::PeriodicFace< Field >::apply(), ippl::ExtrapolateFace< Field >::assignGhostToPhysical(), ippl::PeriodicFace< Field >::assignGhostToPhysical(), ippl::detail::HaloCells< T, Dim, ViewArgs >::exchangeBoundaries(), ippl::PeriodicFace< Field >::findBCNeighbors(), ippl::FieldLayout< Dim >::getPeriodicOffset(), if(), ippl::ParticleSpatialOverlapLayout< T, Dim, Mesh, PositionProperties >::isCloseToBoundary(), KokkosCorrection::Max< Scalar, Space >::join(), max(), ippl::mpi::getNontrivialMpiOpImpl< Op, Type >::operator()(), and ippl::detail::ParticleBC< T, Dim, ViewType >::ParticleBC().
| std::greater ippl::prod |
Definition at line 227 of file BareField.hpp.
Referenced by DefineParticleReduction().
| ippl::valL = max(valL, myVal) |
Definition at line 225 of file BareField.hpp.
Referenced by DefineParticleReduction(), DefineParticleReduction(), DefineReduction(), DefineReduction(), and if().
|
inline |
Definition at line 30 of file Ippl.h.
Referenced by initialize().