NeoFOAM
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
Namespaces | Functions
fieldFreeFunctions.hpp File Reference
#include <tuple>
#include <span>
#include <Kokkos_Core.hpp>
#include "NeoFOAM/core/primitives/label.hpp"
#include "NeoFOAM/helpers/exceptions.hpp"
#include "NeoFOAM/core/parallelAlgorithms.hpp"

Go to the source code of this file.

Namespaces

namespace  NeoFOAM
 
namespace  NeoFOAM::detail
 

Functions

template<typename T , typename Inner >
void NeoFOAM::map (Field< T > &a, const Inner inner, std::pair< size_t, size_t > range={0, 0})
 Map a field using a specific executor.
 
template<typename ValueType >
void NeoFOAM::fill (Field< ValueType > &a, const std::type_identity_t< ValueType > value, std::pair< size_t, size_t > range={0, 0})
 Fill the field with a scalar value using a specific executor.
 
template<typename ValueType >
void NeoFOAM::setField (Field< ValueType > &a, const std::span< const std::type_identity_t< ValueType > > b, std::pair< size_t, size_t > range={0, 0})
 Set the field with a span of values using a specific executor.
 
template<typename ValueType >
void NeoFOAM::scalarMul (Field< ValueType > &a, const std::type_identity_t< ValueType > value)
 
template<typename ValueType , typename BinaryOp >
void NeoFOAM::detail::fieldBinaryOp (Field< ValueType > &a, const Field< std::type_identity_t< ValueType > > &b, BinaryOp op)
 
template<typename ValueType >
void NeoFOAM::add (Field< ValueType > &a, const Field< std::type_identity_t< ValueType > > &b)
 
template<typename ValueType >
void NeoFOAM::sub (Field< ValueType > &a, const Field< std::type_identity_t< ValueType > > &b)
 
template<typename ValueType >
void NeoFOAM::mul (Field< ValueType > &a, const Field< std::type_identity_t< ValueType > > &b)
 
template<typename... Args>
auto NeoFOAM::spans (Args &... fields)
 
template<typename... Args>
auto NeoFOAM::copyToHosts (Args &... fields)
 
template<typename T >
bool NeoFOAM::equal (Field< T > &field, T value)
 
template<typename T >
bool NeoFOAM::equal (const Field< T > &field, const Field< T > &field2)
 
template<typename T >
bool NeoFOAM::equal (const Field< T > &field, std::span< T > span2)