VTK  9.4.20250114
Public Types | Public Member Functions | Static Public Member Functions | List of all members
vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing > Class Template Reference

Evaluate a vtkDGOperationEntry on a provided cell ID at provided parametric coordinates. More...

#include <vtkDGOperationEvaluator.h>

Inheritance diagram for vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >:
[legend]
Collaboration diagram for vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >:
[legend]

Public Types

using InputIteratorType = InputIterator
 
using OutputIteratorType = OutputIterator
 

Public Member Functions

 vtkDGOperationEvaluator (vtkDGOperatorEntry &op, vtkDataArray *connectivity, vtkDataArray *values, vtkDataArray *sideConn, vtkTypeUInt64 offset, vtkDGOperatorEntry shapeGradient=vtkDGOperatorEntry(), vtkDataArray *shapeConnectivity=nullptr, vtkDataArray *shapeValues=nullptr)
 
void CloneInto (vtkDGOperationStateEntryBase &entry) const override
 
void InnerProduct (vtkTypeUInt64 tt, OutputIterator &outIter) const
 Compute the inner product of this->BasisTuple and this->ValueTuple, storing the result in the tt-th tuple of result.
 
void ShapeInnerProduct () const
 Compute the inner product of this->ShapeBasisTuple and this->ShapeValueTuple, storing the result in this->Jacobian.
 
void ComputeJacobian () const
 Compute the shape-attribute Jacobian matrix, storing it in this->Jacobian.
 
void ApplyInverseJacobian (vtkTypeUInt64 ii, OutputIterator &outIter) const
 
void ApplyScaledJacobian (vtkTypeUInt64 ii, OutputIterator &outIter) const
 
void operator() (InputIterator &inIter, OutputIterator &outIter, vtkTypeUInt64 begin, vtkTypeUInt64 end) const
 
- Public Member Functions inherited from vtkDGOperationState
 vtkDGOperationState (vtkDGOperatorEntry &op, vtkDataArray *connectivity, vtkDataArray *values, vtkDataArray *sideConn, vtkTypeUInt64 offset, vtkDGOperatorEntry shapeGradient=vtkDGOperatorEntry(), vtkDataArray *shapeConnectivity=nullptr, vtkDataArray *shapeValues=nullptr)
 
 vtkDGOperationState (const vtkDGOperationState &other)=default
 
virtual ~vtkDGOperationState ()=default
 
virtual void CloneInto (vtkDGOperationStateEntryBase &entry) const =0
 

Static Public Member Functions

static void prepEntry (vtkDGOperationStateEntry< InputIterator, OutputIterator > &entry, vtkDGOperatorEntry op, vtkDataArray *conn, vtkDataArray *values, vtkDataArray *sides, vtkTypeUInt64 offset, vtkDGOperatorEntry shapeGradient=vtkDGOperatorEntry(), vtkDataArray *shapeConnectivity=nullptr, vtkDataArray *shapeValues=nullptr)
 Prepare an entry for evaluating op with the given data arrays and class template parameters.
 

Additional Inherited Members

- Public Attributes inherited from vtkDGOperationState
vtkDGOperatorEntry OpEntry
 
vtkDataArrayCellConnectivity
 
vtkDataArrayCellValues
 
vtkDataArraySideConnectivity
 
vtkTypeUInt64 Offset
 
std::array< vtkTypeUInt64, 2 > SideTuple
 
std::array< double, 3 > RST { { 0, 0, 0 } }
 
std::vector< vtkTypeUInt64 > ConnTuple
 
std::vector< double > ValueTuple
 
std::vector< double > BasisTuple
 
vtkTypeUInt64 LastCellId { ~0ULL }
 
int NumberOfValuesPerFunction { 0 }
 
vtkDGOperatorEntry ShapeGradientEntry
 
vtkDataArrayShapeConnectivity
 
vtkDataArrayShapeValues
 
std::vector< vtkTypeUInt64 > ShapeConnTuple
 
std::vector< double > ShapeValueTuple
 
std::vector< double > ShapeBasisTuple
 
std::vector< double > Jacobian
 
int NumberOfShapeValuesPerFunction { 0 }
 
vtkTypeUInt64 LastShapeCellId { ~0ULL }
 

Detailed Description

template<typename InputIterator, typename OutputIterator, vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
class vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >

Evaluate a vtkDGOperationEntry on a provided cell ID at provided parametric coordinates.

This inherits vtkDGOperationState for all the scratch-space it provides and adds methods to perform interpolation using the scratch space.

Definition at line 57 of file vtkDGOperationEvaluator.h.

Member Typedef Documentation

◆ InputIteratorType

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
using vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::InputIteratorType = InputIterator

Definition at line 60 of file vtkDGOperationEvaluator.h.

◆ OutputIteratorType

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
using vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::OutputIteratorType = OutputIterator

Definition at line 61 of file vtkDGOperationEvaluator.h.

Constructor & Destructor Documentation

◆ vtkDGOperationEvaluator()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::vtkDGOperationEvaluator ( vtkDGOperatorEntry op,
vtkDataArray connectivity,
vtkDataArray values,
vtkDataArray sideConn,
vtkTypeUInt64  offset,
vtkDGOperatorEntry  shapeGradient = vtkDGOperatorEntry(),
vtkDataArray shapeConnectivity = nullptr,
vtkDataArray shapeValues = nullptr 
)
inline

Definition at line 63 of file vtkDGOperationEvaluator.h.

Member Function Documentation

◆ CloneInto()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::CloneInto ( vtkDGOperationStateEntryBase entry) const
inlineoverridevirtual

Implements vtkDGOperationState.

Definition at line 134 of file vtkDGOperationEvaluator.h.

◆ InnerProduct()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::InnerProduct ( vtkTypeUInt64  tt,
OutputIterator &  outIter 
) const
inline

Compute the inner product of this->BasisTuple and this->ValueTuple, storing the result in the tt-th tuple of result.

Definition at line 149 of file vtkDGOperationEvaluator.h.

◆ ShapeInnerProduct()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ShapeInnerProduct ( ) const
inline

Compute the inner product of this->ShapeBasisTuple and this->ShapeValueTuple, storing the result in this->Jacobian.

Definition at line 175 of file vtkDGOperationEvaluator.h.

◆ ComputeJacobian()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ComputeJacobian ( ) const
inline

Compute the shape-attribute Jacobian matrix, storing it in this->Jacobian.

Definition at line 199 of file vtkDGOperationEvaluator.h.

◆ ApplyInverseJacobian()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ApplyInverseJacobian ( vtkTypeUInt64  ii,
OutputIterator &  outIter 
) const
inline

Definition at line 235 of file vtkDGOperationEvaluator.h.

◆ ApplyScaledJacobian()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::ApplyScaledJacobian ( vtkTypeUInt64  ii,
OutputIterator &  outIter 
) const
inline

Definition at line 261 of file vtkDGOperationEvaluator.h.

◆ operator()()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::operator() ( InputIterator &  inIter,
OutputIterator &  outIter,
vtkTypeUInt64  begin,
vtkTypeUInt64  end 
) const
inline

Definition at line 287 of file vtkDGOperationEvaluator.h.

◆ prepEntry()

template<typename InputIterator , typename OutputIterator , vtkDGSharingType DOFSharing, vtkDGSideType SourceType, vtkDGShapeModifier Modifier, vtkDGSharingType ShapeSharing = Discontinuous>
static void vtkDGOperationEvaluator< InputIterator, OutputIterator, DOFSharing, SourceType, Modifier, ShapeSharing >::prepEntry ( vtkDGOperationStateEntry< InputIterator, OutputIterator > &  entry,
vtkDGOperatorEntry  op,
vtkDataArray conn,
vtkDataArray values,
vtkDataArray sides,
vtkTypeUInt64  offset,
vtkDGOperatorEntry  shapeGradient = vtkDGOperatorEntry(),
vtkDataArray shapeConnectivity = nullptr,
vtkDataArray shapeValues = nullptr 
)
inlinestatic

Prepare an entry for evaluating op with the given data arrays and class template parameters.

This creates a new instance of vtkDGOperationEvaluator with the given template parameters and passed arrays, then assigns its ownership (via unique pointer) to the entry.

Definition at line 427 of file vtkDGOperationEvaluator.h.


The documentation for this class was generated from the following file: