Flow123d  build_with_4.0.3-e4d103c
Classes | Enumerations
finite_element.hh File Reference

Abstract class for description of finite elements. More...

#include <armadillo>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <new>
#include <ostream>
#include <string>
#include <vector>
#include "fem/update_flags.hh"
#include "system/exceptions.hh"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Dof
 
class  FunctionSpace
 
class  FiniteElement< dim >
 Abstract class for the description of a general finite element on a reference simplex in dim dimensions. More...
 

Enumerations

enum  DofType { Value = 1 }
 
enum  FEType {
  FEScalar = 0 , FEVector = 1 , FEVectorContravariant = 2 , FEVectorPiola = 3 ,
  FETensor = 4 , FEMixedSystem = 5
}
 

Detailed Description

Abstract class for description of finite elements.

 * 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
Jan Stebel

Definition in file finite_element.hh.

Enumeration Type Documentation

◆ DofType

enum DofType
Enumerator
Value 

Definition at line 43 of file finite_element.hh.

◆ FEType

enum FEType

Types of FiniteElement: scalar, vector-valued, tensor-valued or mixed system.

The type also indicates how the shape functions and their gradients are transformed from reference element to arbitrary element. In particular:

TYPE              OBJECT  EXPRESSION

FEScalar, FEVector, value ref_value

FETensor grad J^{-T} * ref_grad

FEVectorContravariant value J * ref_value

grad J^{-T} * ref_grad * J^T

FEVectorPiola value J * ref_value / |J|

grad J^{-T} * ref_grad * J^T / |J|

FEMixedSystem value depends on sub-elements grad depends on sub-elements

The transformation itself is done in FEValuesBase::fill_..._data() methods.

Note that we use columnwise gradients, i.e. gradient of each component is a column vector.

Enumerator
FEScalar 
FEVector 
FEVectorContravariant 
FEVectorPiola 
FETensor 
FEMixedSystem 

Definition at line 199 of file finite_element.hh.