NeoFOAM
WIP Prototype of a modern OpenFOAM core
|
#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) |