MGIS
Loading...
Searching...
No Matches
mgis::function::CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable > Struct Template Reference

a coalescence view which acts as a tensorial function More...

#include </home/runner/work/MFrontGenericInterfaceSupport/MFrontGenericInterfaceSupport/include/MGIS/Function/Tensors/CoalescedMemoryAccessTensorView.hxx>

Inheritance diagram for mgis::function::CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >:
mgis::function::CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable > mgis::PreconditionsChecker< CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable > >

Public Types

using MutableValues = tfel::math::CoalescedView< TensorType >
 
using ConstValues = tfel::math::CoalescedView< const TensorType >
 
- Public Types inherited from mgis::function::CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >
template<size_type size>
using MutableValues = std::array< real *, size >
 
template<size_type size>
using ConstValues = std::array< const real *, size >
 
using ScalarComponentFunctionView = FunctionView< Space, FunctionDataLayoutDescription{.data_size=1,.data_stride=1}, is_mutable >
 type of the function view associated with a single component
 

Public Member Functions

constexpr MutableValues operator() (const size_type)
 
constexpr MutableValues operator() (const size_type, const size_type)
 
constexpr ConstValues operator() (const size_type) const
 
constexpr ConstValues operator() (const size_type, const size_type) const
 
- Public Member Functions inherited from mgis::function::CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >
constexpr CoalescedMemoryAccessFunctionViewBase (const std::array< ScalarComponentFunctionView, N > &)
 
constexpr CoalescedMemoryAccessFunctionViewBase (const Space &, std::span< const real >)
 
constexpr CoalescedMemoryAccessFunctionViewBase (const Space &, std::span< real >)
 
constexpr MutableValues< NgetValuesPointers (const size_type)
 
constexpr MutableValues< NgetValuesPointers (const size_type, const size_type)
 
constexpr ConstValues< NgetValuesPointers (const size_type) const
 
constexpr ConstValues< NgetValuesPointers (const size_type, const size_type) const
 
template<size_type begin, size_type size>
requires ((begin + size <= N) && is_mutable && LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr MutableValues< size > getValuesPointers (const size_type)
 
template<size_type begin, size_type size>
requires ((begin + size <= N) && is_mutable && LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr MutableValues< size > getValuesPointers (const size_type, const size_type)
 
template<size_type begin, size_type size>
requires ((begin + size <= N) && LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr ConstValues< size > getValuesPointers (const size_type) const
 
template<size_type begin, size_type size>
requires ((begin + size <= N) && LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr ConstValues< size > getValuesPointers (const size_type, const size_type) const
 
template<size_type offset>
requires ((offset < N) && is_mutable && LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr realgetValuePointer (const size_type)
 
template<size_type offset>
requires ((offset < N) && is_mutable && LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr realgetValuePointer (const size_type, const size_type)
 
template<size_type offset>
requires ((offset < N) && LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr const realgetValuePointer (const size_type) const
 
template<size_type offset>
requires ((offset < N) && LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr const realgetValuePointer (const size_type, const size_type) const
 
template<size_type begin, size_type size>
requires (N > 0) ((begin + size <= N) && is_mutable && LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >::template MutableValues< size > getValuesPointers (const size_type i)
 
template<size_type begin, size_type size>
requires (N > 0) ((begin + size <= N) && is_mutable && LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >::template MutableValues< size > getValuesPointers (const size_type e, const size_type q)
 
template<size_type begin, size_type size>
requires (N > 0) ((begin + size <= N) && LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >::template ConstValues< size > getValuesPointers (const size_type i) const
 
template<size_type begin, size_type size>
requires (N > 0) ((begin + size <= N) && LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >::template ConstValues< size > getValuesPointers (const size_type e, const size_type q) const
 

Additional Inherited Members

- Static Public Member Functions inherited from mgis::function::CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >
static constexpr bool checkPreconditions (AbstractErrorHandler &, const std::array< ScalarComponentFunctionView, N > &)
 check that the preconditions to build the view are met
 
static constexpr bool checkPreconditions (AbstractErrorHandler &, const Space &space, std::span< const real >)
 check that the preconditions to build the view are met
 
static constexpr bool checkPreconditions (AbstractErrorHandler &, const Space &, std::span< real >)
 check that the preconditions to build the view are met
 
- Protected Member Functions inherited from mgis::function::CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >
template<bool doPreconditionsCheck>
requires (N > 0)
constexpr CoalescedMemoryAccessFunctionViewBase (const PreconditionsCheck< doPreconditionsCheck > &, const std::array< ScalarComponentFunctionView, N > &)
 
template<bool doPreconditionsCheck>
requires (!is_mutable)
constexpr CoalescedMemoryAccessFunctionViewBase (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, std::span< const real >)
 
template<bool doPreconditionsCheck>
constexpr CoalescedMemoryAccessFunctionViewBase (const PreconditionsCheck< doPreconditionsCheck > &, const Space &, std::span< real >)
 
- Static Protected Member Functions inherited from mgis::function::CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >
static constexpr auto splitValues (const Space &, std::span< real >)
 
static constexpr auto splitValues (const Space &, std::span< const real >)
 
- Protected Attributes inherited from mgis::function::CoalescedMemoryAccessFunctionViewBase< Space, N, is_mutable >
std::array< ScalarComponentFunctionView, Nfunction_components
 function's view for each component
 

Detailed Description

template<FunctionalSpaceConcept Space, TensorConcept TensorType, bool is_mutable = true>
struct mgis::function::CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >

a coalescence view which acts as a tensorial function

Template Parameters
Spacefunctional space
TensorTypetensorial object mapped
is_mutableboolean stating if the view can return mutable values.

Member Function Documentation

◆ operator()() [1/4]

template<FunctionalSpaceConcept Space, TensorConcept TensorType, bool is_mutable>
requires ( is_mutable&& LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::MutableValues mgis::function::CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::operator() ( const size_type  i)
constexpr
Returns
the data associated with an integration point
Parameters
[in]ooffset associated with the integration point

◆ operator()() [2/4]

template<FunctionalSpaceConcept Space, TensorConcept TensorType, bool is_mutable>
requires (LinearElementSpaceConcept<Space> && (!hasElementWorkspace<Space>))
constexpr CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::ConstValues mgis::function::CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::operator() ( const size_type  i) const
constexpr
Returns
the data associated with an integration point
Parameters
[in]ooffset associated with the integration point

◆ operator()() [3/4]

template<FunctionalSpaceConcept Space, TensorConcept TensorType, bool is_mutable>
requires ( is_mutable&& LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::MutableValues mgis::function::CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::operator() ( const size_type  e,
const size_type  q 
)
constexpr
Returns
the data associated with an integration point
Parameters
[in]eelement index
[in]iquadrature point index

◆ operator()() [4/4]

template<FunctionalSpaceConcept Space, TensorConcept TensorType, bool is_mutable>
requires (LinearQuadratureSpaceConcept<Space> && (!hasCellWorkspace<Space>))
constexpr CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::ConstValues mgis::function::CoalescedMemoryAccessTensorView< Space, TensorType, is_mutable >::operator() ( const size_type  e,
const size_type  q 
) const
constexpr
Returns
the data associated with an integration point
Parameters
[in]eelement index
[in]iquadrature point index

The documentation for this struct was generated from the following files: