Flow123d  DF_patch_fe_darcy_complete-579fe1e
Classes | Typedefs | Enumerations
patch_point_values.hh File Reference

Store finite element data on the actual patch such as shape function values, gradients, Jacobian of the mapping from the reference cell etc. More...

#include <Eigen/Dense>
#include <unordered_set>
#include "fem/eigen_tools.hh"
#include "quadrature/quadrature_lib.hh"
#include "fem/arena_resource.hh"
#include "fem/arena_vec.hh"
#include "mesh/accessors.hh"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  RevertibleValue
 
class  PatchPointValues< spacedim >
 
struct  PatchPointValues< spacedim >::PatchFeData
 

Typedefs

using Scalar = double
 
using Vector = arma::vec3
 
using Tensor = arma::mat33
 
template<unsigned int spacedim = 3>
using ElemDimList = std::vector< ElementAccessor< spacedim > >
 

Enumerations

enum  OpSizeType { elemOp , pointOp , fixedSizeOp }
 Distinguishes operations by type and size of output rows. More...
 
enum  fem_domain { bulk_domain =0 , side_domain =1 }
 Distinguishes operations by type and size of output rows. More...
 
enum  IntTableRows {
  domain_on_quads =1 , mesh_elem_on_quads =2 , patch_elem_on_domain =3 , ref_side_on_sides =4 ,
  ref_side_on_quads =5
}
 

Detailed Description

Store finite element data on the actual patch such as shape function values, gradients, Jacobian of the mapping from the reference cell etc.

 * Copyright (C) 2015 Technical University of Liberec. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Author
David Flanderka

Definition in file patch_point_values.hh.

Typedef Documentation

◆ ElemDimList

template<unsigned int spacedim = 3>
using ElemDimList = std::vector<ElementAccessor<spacedim> >

Definition at line 139 of file patch_point_values.hh.

◆ Scalar

using Scalar = double

Definition at line 35 of file patch_point_values.hh.

◆ Tensor

Definition at line 37 of file patch_point_values.hh.

◆ Vector

using Vector = arma::vec3

Definition at line 36 of file patch_point_values.hh.

Enumeration Type Documentation

◆ fem_domain

enum fem_domain

Distinguishes operations by type and size of output rows.

Enumerator
bulk_domain 
side_domain 

Definition at line 50 of file patch_point_values.hh.

◆ IntTableRows

Describes meaning of IntTableArena (of PatchPointValues) rows

Meaning of domain is element or side

Enumerator
domain_on_quads 

Index of bulk element or side for each quadrature point in patch.

mesh_elem_on_quads 

Element idx in Mesh for each quadrature point in patch.

patch_elem_on_domain 

Index of patch element for each bulk element or side.

ref_side_on_sides 

Ref index of side in element for each side in patch.

ref_side_on_quads 

Ref index of side in element for each quadrature point in patch.

Definition at line 62 of file patch_point_values.hh.

◆ OpSizeType

enum OpSizeType

Distinguishes operations by type and size of output rows.

Enumerator
elemOp 

operation is evaluated on elements or sides

pointOp 

operation is evaluated on quadrature points

fixedSizeOp 

operation has fixed size and it is filled during initialization

Definition at line 41 of file patch_point_values.hh.