Reference documentation for deal.II version 9.0.0
deal.II
fe
mapping_c1.h
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 2001 - 2018 by the deal.II authors
4
//
5
// This file is part of the deal.II library.
6
//
7
// The deal.II library is free software; you can use it, redistribute
8
// it, and/or modify it under the terms of the GNU Lesser General
9
// Public License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or (at your option) any later version.
11
// The full text of the license can be found in the file LICENSE at
12
// the top level of the deal.II distribution.
13
//
14
// ---------------------------------------------------------------------
15
16
#ifndef dealii_mapping_c1_h
17
#define dealii_mapping_c1_h
18
19
20
#include <deal.II/base/config.h>
21
#include <deal.II/fe/mapping_q.h>
22
23
DEAL_II_NAMESPACE_OPEN
24
27
38
template
<
int
dim,
int
spacedim=dim>
39
class
MappingC1
:
public
MappingQ
<dim,spacedim>
40
{
41
public
:
46
MappingC1
();
47
52
virtual
53
std::unique_ptr<Mapping<dim,spacedim>>
clone
()
const override
;
54
55
protected
:
56
62
class
MappingC1Generic
:
public
MappingQGeneric
<dim,spacedim>
63
{
64
public
:
65
69
MappingC1Generic
();
70
80
virtual
81
void
82
add_line_support_points
(
const
typename
Triangulation<dim>::cell_iterator
&cell,
83
std::vector<
Point<dim>
> &a)
const override
;
84
94
virtual
95
void
96
add_quad_support_points
(
const
typename
Triangulation<dim>::cell_iterator
&cell,
97
std::vector<
Point<dim>
> &a)
const override
;
98
};
99
};
100
103
/* -------------- declaration of explicit specializations ------------- */
104
105
#ifndef DOXYGEN
106
107
template
<>
void
MappingC1<1>::MappingC1Generic::add_line_support_points
(
108
const
Triangulation<1>::cell_iterator
&,
109
std::vector<
Point<1>
> &)
const
;
110
template
<>
void
MappingC1<2>::MappingC1Generic::add_line_support_points
(
111
const
Triangulation<2>::cell_iterator
&cell,
112
std::vector<
Point<2>
> &a)
const
;
113
114
template
<>
void
MappingC1<1>::MappingC1Generic::add_quad_support_points
(
115
const
Triangulation<1>::cell_iterator
&,
116
std::vector<
Point<1>
> &)
const
;
117
template
<>
void
MappingC1<2>::MappingC1Generic::add_quad_support_points
(
118
const
Triangulation<2>::cell_iterator
&,
119
std::vector<
Point<2>
> &)
const
;
120
121
122
#endif // DOXYGEN
123
124
DEAL_II_NAMESPACE_CLOSE
125
126
#endif
MappingC1::clone
virtual std::unique_ptr< Mapping< dim, spacedim > > clone() const override
Definition:
mapping_c1.cc:216
MappingC1
Definition:
mapping_c1.h:39
Point< dim >
MappingC1::MappingC1Generic::add_quad_support_points
virtual void add_quad_support_points(const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim > > &a) const override
Definition:
mapping_c1.cc:206
MappingQGeneric
Definition:
mapping_q_generic.h:128
Triangulation
Definition:
dof_handler.h:44
MappingQ
Definition:
fe_dgq.h:26
MappingC1::MappingC1Generic
Definition:
mapping_c1.h:62
MappingC1::MappingC1
MappingC1()
Definition:
mapping_c1.cc:39
MappingC1::MappingC1Generic::add_line_support_points
virtual void add_line_support_points(const typename Triangulation< dim >::cell_iterator &cell, std::vector< Point< dim > > &a) const override
Definition:
mapping_c1.cc:172
MappingC1::MappingC1Generic::MappingC1Generic
MappingC1Generic()
Definition:
mapping_c1.cc:31
TriaIterator
Definition:
dof_iterator_selector.h:30
Generated by
1.8.14