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_mixed_order
space_time_unsteady_heat_mixed_order_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-2023 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_mixed_order_elements.h
"
37
#include "
refineable_discontinuous_galerkin_space_time_unsteady_heat_mixed_order_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_BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement============
47
/// Block preconditionable version of UnsteadyHeatMixedOrderSpaceTimeElement
48
//===========================================================================
49
template
<
unsigned
SPATIAL_DIM,
unsigned
NNODE_1D>
50
class
BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement
51
:
public
virtual
QUnsteadyHeatMixedOrderSpaceTimeElement
<SPATIAL_DIM,
52
NNODE_1D>,
53
public
virtual
BlockPreconditionableSpaceTimeElementBase
54
{
55
public
:
56
/// Empty constructor
57
BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement
()
58
:
QUnsteadyHeatMixedOrderSpaceTimeElement
<SPATIAL_DIM, NNODE_1D>(),
59
BlockPreconditionableSpaceTimeElementBase
()
60
{
61
}
62
63
/// Empty destructor
64
~BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement
() {}
65
66
/// Overload the pure virtual base class implementation.
67
/// Create a list of pairs for all unknowns in this element,
68
/// so the first entry in each pair contains the global equation
69
/// number of the unknown, while the second one contains the number
70
/// of the "DOF type" that this unknown is associated with.
71
void
get_dof_numbers_for_unknowns
(
72
std::list<std::pair<unsigned long, unsigned>>& dof_lookup_list)
const
;
73
};
74
75
//======start_of_BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement
76
/// Block preconditionable version of UnsteadyHeatSpaceTimeElement
77
//=========================================================================
78
template
<
unsigned
SPATIAL_DIM,
unsigned
NNODE_1D>
79
class
BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement
80
:
public
virtual
RefineableQUnsteadyHeatMixedOrderSpaceTimeElement
<
81
SPATIAL_DIM,
82
NNODE_1D>,
83
public
virtual
BlockPreconditionableSpaceTimeElementBase
84
{
85
public
:
86
/// Empty constructor
87
BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement
()
88
:
RefineableQUnsteadyHeatMixedOrderSpaceTimeElement
<SPATIAL_DIM,
89
NNODE_1D>(),
90
BlockPreconditionableSpaceTimeElementBase
()
91
{
92
}
93
94
/// Empty destructor
95
~BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement
() {}
96
97
/// Overload the pure virtual base class implementation.
98
/// Create a list of pairs for all unknowns in this element,
99
/// so the first entry in each pair contains the global equation
100
/// number of the unknown, while the second one contains the number
101
/// of the "DOF type" that this unknown is associated with.
102
void
get_dof_numbers_for_unknowns
(
103
std::list<std::pair<unsigned long, unsigned>>& dof_lookup_list)
const
;
104
};
105
}
// End of namespace oomph
106
#endif
oomph::BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement
Block preconditionable version of UnsteadyHeatMixedOrderSpaceTimeElement.
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.h:54
oomph::BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement::~BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement
~BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement()
Empty destructor.
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.h:64
oomph::BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement::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 ...
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.cc:40
oomph::BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement::BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement
BlockPrecQUnsteadyHeatMixedOrderSpaceTimeElement()
Empty constructor.
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.h:57
oomph::BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement
Block preconditionable version of UnsteadyHeatSpaceTimeElement.
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.h:84
oomph::BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement::BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement
BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement()
Empty constructor.
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.h:87
oomph::BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement::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 ...
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.cc:114
oomph::BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement::~BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement
~BlockPrecRefineableQUnsteadyHeatMixedOrderSpaceTimeElement()
Empty destructor.
Definition:
space_time_unsteady_heat_mixed_order_block_preconditionable_elements.h:95
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::QUnsteadyHeatMixedOrderSpaceTimeElement
//////////////////////////////////////////////////////////////////////// ////////////////////////////...
Definition:
discontinuous_galerkin_space_time_unsteady_heat_mixed_order_elements.h:741
oomph::RefineableQUnsteadyHeatMixedOrderSpaceTimeElement
Refineable version of 2D QUnsteadyHeatMixedOrderSpaceTimeElement elements.
Definition:
refineable_discontinuous_galerkin_space_time_unsteady_heat_mixed_order_elements.h:225
discontinuous_galerkin_space_time_unsteady_heat_mixed_order_elements.h
oomph
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
Definition:
advection_diffusion_elements.cc:30
refineable_discontinuous_galerkin_space_time_unsteady_heat_mixed_order_elements.h