Flow123d  JS_before_hm-979-g397e552
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  FESystem< dim >
 Compound finite element on dim dimensional simplex. More...
 
class  FEValues< spacedim >
 Calculates finite element data on the actual cell. More...
 
class  FE_P_disc< dim >
 Discontinuous Lagrangean finite element on dim dimensional simplex. More...
 
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

enum DofType
Enumerator
Value 

Definition at line 43 of file finite_element.hh.

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.