Flow123d  DF_patch_fe_mechanics-ccea6e4
Public Member Functions | Protected Attributes | List of all members
PatchOp< spacedim > Class Template Reference

Class represents element or FE operations. More...

#include <patch_point_values.hh>

Collaboration diagram for PatchOp< spacedim >:
Collaboration graph
[legend]

Public Member Functions

 PatchOp (uint dim, std::initializer_list< uint > shape, ReinitFunction reinit_f, OpSizeType size_type, std::vector< PatchOp< spacedim > * > input_ops={}, uint n_dofs=1)
 
std::vector< uintset_shape_vec (std::initializer_list< uint > shape) const
 Aligns shape_vec to 2 items (equal to matrix number of dimensions) More...
 
uint n_comp () const
 
uint dim () const
 Getter for dimension. More...
 
OpSizeType size_type () const
 Getter for size_type_. More...
 
uint n_dofs () const
 Getter for n_dofs_. More...
 
PatchOp< spacedim > * input_ops (uint i_op) const
 Return pointer to operation of i_op index in input operation vector. More...
 
const std::vector< uint > & shape () const
 Getter for shape_. More...
 
std::string format_shape () const
 
void reinit_function (FMT_UNUSED std::vector< PatchOp< spacedim > * > &operations, IntTableArena &int_table)
 Call reinit function on element table if function is defined. More...
 
void allocate_result (size_t data_size, PatchArena &arena)
 
void allocate_const_result (ArenaVec< double > &value_vec)
 
Eigen::Map< Eigen::Matrix< ArenaVec< double >, Eigen::Dynamic, Eigen::Dynamic > > result_matrix ()
 Return map referenced result as Eigen::Vector. More...
 
Eigen::Map< Eigen::Matrix< ArenaVec< double >, Eigen::Dynamic, Eigen::Dynamic > > result_sub_matrix (uint i_dof)
 Return map referenced result of DOF values as Eigen::Matrix. More...
 
Eigen::Vector< ArenaVec< double >, Eigen::Dynamic > & raw_result ()
 Return map referenced result as Eigen::Vector. More...
 
const Eigen::Vector< ArenaVec< double >, Eigen::Dynamic > & raw_result () const
 Same as previous but return const reference. More...
 

Protected Attributes

uint dim_
 Dimension. More...
 
std::vector< uintshape_
 Shape of stored data (size of vector or number of rows and cols of matrix) More...
 
Eigen::Vector< ArenaVec< double >, Eigen::Dynamic > result_
 Result matrix of operation. More...
 
OpSizeType size_type_
 Type of operation by size of vector (element, point or fixed size) More...
 
std::vector< PatchOp< spacedim > * > input_ops_
 Indices of operations in PatchPointValues::operations_ vector on which PatchOp is depended. More...
 
uint n_dofs_
 Number of DOFs of FE operations (or 1 in case of element operations) More...
 
ReinitFunction reinit_func
 Pointer to patch reinit function of element data table specialized by operation. More...
 

Detailed Description

template<unsigned int spacedim = 3>
class PatchOp< spacedim >

Class represents element or FE operations.

Definition at line 639 of file patch_point_values.hh.

Constructor & Destructor Documentation

◆ PatchOp()

template<unsigned int spacedim = 3>
PatchOp< spacedim >::PatchOp ( uint  dim,
std::initializer_list< uint shape,
ReinitFunction  reinit_f,
OpSizeType  size_type,
std::vector< PatchOp< spacedim > * >  input_ops = {},
uint  n_dofs = 1 
)
inline

Constructor

Set all data members.

Definition at line 646 of file patch_point_values.hh.

Member Function Documentation

◆ allocate_const_result()

template<unsigned int spacedim = 3>
void PatchOp< spacedim >::allocate_const_result ( ArenaVec< double > &  value_vec)
inline

Definition at line 716 of file patch_point_values.hh.

◆ allocate_result()

template<unsigned int spacedim = 3>
void PatchOp< spacedim >::allocate_result ( size_t  data_size,
PatchArena arena 
)
inline

Definition at line 710 of file patch_point_values.hh.

◆ dim()

template<unsigned int spacedim = 3>
uint PatchOp< spacedim >::dim ( ) const
inline

Getter for dimension.

Definition at line 670 of file patch_point_values.hh.

◆ format_shape()

template<unsigned int spacedim = 3>
std::string PatchOp< spacedim >::format_shape ( ) const
inline

Format shape to string

Method is used in output development method.

Definition at line 699 of file patch_point_values.hh.

◆ input_ops()

template<unsigned int spacedim = 3>
PatchOp<spacedim>* PatchOp< spacedim >::input_ops ( uint  i_op) const
inline

Return pointer to operation of i_op index in input operation vector.

Definition at line 685 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ n_comp()

template<unsigned int spacedim = 3>
uint PatchOp< spacedim >::n_comp ( ) const
inline

Return number of operation components

Value is computed from shape_ vector

Definition at line 665 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ n_dofs()

template<unsigned int spacedim = 3>
uint PatchOp< spacedim >::n_dofs ( ) const
inline

Getter for n_dofs_.

Definition at line 680 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ raw_result() [1/2]

template<unsigned int spacedim = 3>
Eigen::Vector<ArenaVec<double>, Eigen::Dynamic>& PatchOp< spacedim >::raw_result ( )
inline

Return map referenced result as Eigen::Vector.

Definition at line 735 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ raw_result() [2/2]

template<unsigned int spacedim = 3>
const Eigen::Vector<ArenaVec<double>, Eigen::Dynamic>& PatchOp< spacedim >::raw_result ( ) const
inline

Same as previous but return const reference.

Definition at line 740 of file patch_point_values.hh.

◆ reinit_function()

template<unsigned int spacedim = 3>
void PatchOp< spacedim >::reinit_function ( FMT_UNUSED std::vector< PatchOp< spacedim > * > &  operations,
IntTableArena int_table 
)
inline

Call reinit function on element table if function is defined.

Definition at line 706 of file patch_point_values.hh.

◆ result_matrix()

template<unsigned int spacedim = 3>
Eigen::Map<Eigen::Matrix<ArenaVec<double>, Eigen::Dynamic, Eigen::Dynamic> > PatchOp< spacedim >::result_matrix ( )
inline

Return map referenced result as Eigen::Vector.

Definition at line 723 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ result_sub_matrix()

template<unsigned int spacedim = 3>
Eigen::Map<Eigen::Matrix<ArenaVec<double>, Eigen::Dynamic, Eigen::Dynamic> > PatchOp< spacedim >::result_sub_matrix ( uint  i_dof)
inline

Return map referenced result of DOF values as Eigen::Matrix.

Definition at line 728 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ set_shape_vec()

template<unsigned int spacedim = 3>
std::vector<uint> PatchOp< spacedim >::set_shape_vec ( std::initializer_list< uint shape) const
inline

Aligns shape_vec to 2 items (equal to matrix number of dimensions)

Definition at line 653 of file patch_point_values.hh.

◆ shape()

template<unsigned int spacedim = 3>
const std::vector<uint>& PatchOp< spacedim >::shape ( ) const
inline

Getter for shape_.

Definition at line 690 of file patch_point_values.hh.

Here is the caller graph for this function:

◆ size_type()

template<unsigned int spacedim = 3>
OpSizeType PatchOp< spacedim >::size_type ( ) const
inline

Getter for size_type_.

Definition at line 675 of file patch_point_values.hh.

Member Data Documentation

◆ dim_

template<unsigned int spacedim = 3>
uint PatchOp< spacedim >::dim_
protected

Dimension.

Definition at line 746 of file patch_point_values.hh.

◆ input_ops_

template<unsigned int spacedim = 3>
std::vector<PatchOp<spacedim> *> PatchOp< spacedim >::input_ops_
protected

Indices of operations in PatchPointValues::operations_ vector on which PatchOp is depended.

Definition at line 750 of file patch_point_values.hh.

◆ n_dofs_

template<unsigned int spacedim = 3>
uint PatchOp< spacedim >::n_dofs_
protected

Number of DOFs of FE operations (or 1 in case of element operations)

Definition at line 751 of file patch_point_values.hh.

◆ reinit_func

template<unsigned int spacedim = 3>
ReinitFunction PatchOp< spacedim >::reinit_func
protected

Pointer to patch reinit function of element data table specialized by operation.

Definition at line 753 of file patch_point_values.hh.

◆ result_

template<unsigned int spacedim = 3>
Eigen::Vector<ArenaVec<double>, Eigen::Dynamic> PatchOp< spacedim >::result_
protected

Result matrix of operation.

Definition at line 748 of file patch_point_values.hh.

◆ shape_

template<unsigned int spacedim = 3>
std::vector<uint> PatchOp< spacedim >::shape_
protected

Shape of stored data (size of vector or number of rows and cols of matrix)

Definition at line 747 of file patch_point_values.hh.

◆ size_type_

template<unsigned int spacedim = 3>
OpSizeType PatchOp< spacedim >::size_type_
protected

Type of operation by size of vector (element, point or fixed size)

Definition at line 749 of file patch_point_values.hh.


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