Toggle navigation
Documentation
Big picture
The finite element method
The data structure
Not-so-quick guide
Optimisation
Order of action functions
Example codes and tutorials
List of example codes and tutorials
Meshing
Solvers
MPI parallel processing
Post-processing/visualisation
Other
Change log
Creating documentation
Coding conventions
Index
FAQ
Installation
Installation guide
Copyright
About
People
Contact/Get involved
Publications
Acknowledgements
Picture show
Go
src
space_time
space_time_unsteady_heat
galerkin_petrov_equal_order
galerkin_petrov_equal_order/space_time_unsteady_heat_block_preconditionable_elements.h
Go to the documentation of this file.
1
// LIC// ====================================================================
2
// LIC// This file forms part of oomph-lib, the object-oriented,
3
// LIC// multi-physics finite-element library, available
4
// LIC// at http://www.oomph-lib.org.
5
// LIC//
6
// LIC// Copyright (C) 2006-2024 Matthias Heil and Andrew Hazel
7
// LIC//
8
// LIC// This library is free software; you can redistribute it and/or
9
// LIC// modify it under the terms of the GNU Lesser General Public
10
// LIC// License as published by the Free Software Foundation; either
11
// LIC// version 2.1 of the License, or (at your option) any later version.
12
// LIC//
13
// LIC// This library is distributed in the hope that it will be useful,
14
// LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
// LIC// Lesser General Public License for more details.
17
// LIC//
18
// LIC// You should have received a copy of the GNU Lesser General Public
19
// LIC// License along with this library; if not, write to the Free Software
20
// LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21
// LIC// 02110-1301 USA.
22
// LIC//
23
// LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
24
// LIC//
25
// LIC//====================================================================
26
// Header file for SpaceTimeUnsteadyHeat elements
27
#ifndef OOMPH_SPACE_TIME_UNSTEADY_HEAT_BLOCK_PRECONDITIONABLE_ELEMENTS_HEADER
28
#define OOMPH_SPACE_TIME_UNSTEADY_HEAT_BLOCK_PRECONDITIONABLE_ELEMENTS_HEADER
29
30
// Config header generated by autoconfig
31
#ifdef HAVE_CONFIG_H
32
#include <oomph-lib-config.h>
33
#endif
34
35
// Space-time block preconditionable elements machinery
36
#include "
discontinuous_galerkin_space_time_unsteady_heat_elements.h
"
37
#include "
refineable_discontinuous_galerkin_space_time_unsteady_heat_elements.h
"
38
#include "../../space_time_block_preconditioner/general_purpose_space_time_block_preconditionable_elements.h"
39
40
/// /////////////////////////////////////////////////////////////////////////
41
/// /////////////////////////////////////////////////////////////////////////
42
/// /////////////////////////////////////////////////////////////////////////
43
44
namespace
oomph
45
{
46
//======start_of_BlockPrecQUnsteadyHeatSpaceTimeElement====================
47
/// Block preconditionable version of UnsteadyHeatSpaceTimeElement
48
//=========================================================================
49
template
<
unsigned
SPATIAL_DIM,
unsigned
NNODE_1D>
50
class
BlockPrecQUnsteadyHeatSpaceTimeElement
51
:
public
virtual
QUnsteadyHeatSpaceTimeElement<SPATIAL_DIM, NNODE_1D>,
52
public
virtual
BlockPreconditionableSpaceTimeElementBase
53
{
54
public
:
55
/// Empty constructor
56
BlockPrecQUnsteadyHeatSpaceTimeElement
()
57
:
QUnsteadyHeatSpaceTimeElement
<SPATIAL_DIM, NNODE_1D>(),
58
BlockPreconditionableSpaceTimeElementBase
()
59
{
60
}
61
62
/// Empty destructor
63
~BlockPrecQUnsteadyHeatSpaceTimeElement
() {}
64
65
/// Overload the pure virtual base class implementation.
66
/// Create a list of pairs for all unknowns in this element,
67
/// so the first entry in each pair contains the global equation
68
/// number of the unknown, while the second one contains the number
69
/// of the "DOF type" that this unknown is associated with.
70
void
get_dof_numbers_for_unknowns
(
71
std::list<std::pair<unsigned long, unsigned>>& dof_lookup_list)
const
;
72
};
73
74
//======start_of_BlockPrecQUnsteadyHeatSpaceTimeElement====================
75
/// Block preconditionable version of UnsteadyHeatSpaceTimeElement
76
//=========================================================================
77
template
<
unsigned
SPATIAL_DIM,
unsigned
NNODE_1D>
78
class
BlockPrecRefineableQUnsteadyHeatSpaceTimeElement
79
:
public
virtual
RefineableQUnsteadyHeatSpaceTimeElement
<SPATIAL_DIM,
80
NNODE_1D>,
81
public
virtual
BlockPreconditionableSpaceTimeElementBase
82
{
83
public
:
84
/// Empty constructor
85
BlockPrecRefineableQUnsteadyHeatSpaceTimeElement
()
86
:
RefineableQUnsteadyHeatSpaceTimeElement
<SPATIAL_DIM, NNODE_1D>(),
87
BlockPreconditionableSpaceTimeElementBase
()
88
{
89
}
90
91
/// Empty destructor
92
~BlockPrecRefineableQUnsteadyHeatSpaceTimeElement
() {}
93
94
/// Overload the pure virtual base class implementation.
95
/// Create a list of pairs for all unknowns in this element,
96
/// so the first entry in each pair contains the global equation
97
/// number of the unknown, while the second one contains the number
98
/// of the "DOF type" that this unknown is associated with.
99
void
get_dof_numbers_for_unknowns
(
100
std::list<std::pair<unsigned long, unsigned>>& dof_lookup_list)
const
;
101
};
102
}
// End of namespace oomph
103
#endif
oomph::BlockPrecQUnsteadyHeatSpaceTimeElement::BlockPrecQUnsteadyHeatSpaceTimeElement
BlockPrecQUnsteadyHeatSpaceTimeElement()
Empty constructor.
Definition:
galerkin_petrov_equal_order/space_time_unsteady_heat_block_preconditionable_elements.h:56
oomph::BlockPrecQUnsteadyHeatSpaceTimeElement::~BlockPrecQUnsteadyHeatSpaceTimeElement
~BlockPrecQUnsteadyHeatSpaceTimeElement()
Empty destructor.
Definition:
galerkin_petrov_equal_order/space_time_unsteady_heat_block_preconditionable_elements.h:63
oomph::BlockPrecQUnsteadyHeatSpaceTimeElement::get_dof_numbers_for_unknowns
void get_dof_numbers_for_unknowns(std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const
Overload the pure virtual base class implementation. Create a list of pairs for all unknowns in this ...
oomph::BlockPrecRefineableQUnsteadyHeatSpaceTimeElement
Block preconditionable version of UnsteadyHeatSpaceTimeElement.
Definition:
galerkin_equal_order/space_time_unsteady_heat_block_preconditionable_elements.h:82
oomph::BlockPrecRefineableQUnsteadyHeatSpaceTimeElement::get_dof_numbers_for_unknowns
void get_dof_numbers_for_unknowns(std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const
Overload the pure virtual base class implementation. Create a list of pairs for all unknowns in this ...
oomph::BlockPrecRefineableQUnsteadyHeatSpaceTimeElement::BlockPrecRefineableQUnsteadyHeatSpaceTimeElement
BlockPrecRefineableQUnsteadyHeatSpaceTimeElement()
Empty constructor.
Definition:
galerkin_petrov_equal_order/space_time_unsteady_heat_block_preconditionable_elements.h:85
oomph::BlockPrecRefineableQUnsteadyHeatSpaceTimeElement::~BlockPrecRefineableQUnsteadyHeatSpaceTimeElement
~BlockPrecRefineableQUnsteadyHeatSpaceTimeElement()
Empty destructor.
Definition:
galerkin_petrov_equal_order/space_time_unsteady_heat_block_preconditionable_elements.h:92
oomph::BlockPreconditionableSpaceTimeElementBase
Block preconditionable space-time element base class. NOTE: It has to derive from GeneralisedElement ...
Definition:
general_purpose_space_time_block_preconditionable_elements.h:51
oomph::QUnsteadyHeatSpaceTimeElement
//////////////////////////////////////////////////////////////////////// ////////////////////////////...
Definition:
space_time_unsteady_heat_elements.h:705
oomph::RefineableQUnsteadyHeatSpaceTimeElement
Refineable version of 2D QUnsteadyHeatSpaceTimeElement elements.
Definition:
refineable_space_time_unsteady_heat_elements.h:224
discontinuous_galerkin_space_time_unsteady_heat_elements.h
oomph
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
Definition:
advection_diffusion_elements.cc:30
refineable_discontinuous_galerkin_space_time_unsteady_heat_elements.h