Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
iwr
dune-curvedgrid
Commits
6220dd72
Commit
6220dd72
authored
Apr 24, 2020
by
Praetorius, Simon
Browse files
reolved stash conflict
parent
2133b97f
Changes
1
Hide whitespace changes
Inline
Side-by-side
dune/curvedsurfacegrid/gridfunctions/discretegridviewfunction.hh
View file @
6220dd72
...
@@ -47,11 +47,11 @@ namespace Dune
...
@@ -47,11 +47,11 @@ namespace Dune
//! Grid-view function representing a coordinate map from a reference grid to world
//! Grid-view function representing a coordinate map from a reference grid to world
/**
/**
* \tparam GridView The grid-view type this coordinate function is defined on
* \tparam GridView The grid-view type this coordinate function is defined on
* \tparam
dow
Dimension of the world this coordfunction mapps into
* \tparam
components
Dimension of the world this coordfunction mapps into
* \tparam ORDER Polynomial order of the local parametrization
* \tparam ORDER Polynomial order of the local parametrization
* \tparam T Type of the basis range-type and coefficient type
* \tparam T Type of the basis range-type and coefficient type
**/
**/
template
<
class
GridView
,
int
dow
=
GridView
::
dimensionworld
,
int
ORDER
=
-
1
,
class
T
=
double
>
template
<
class
GridView
,
int
components
=
GridView
::
dimensionworld
,
int
ORDER
=
-
1
,
class
T
=
double
>
class
DiscreteGridViewFunction
;
class
DiscreteGridViewFunction
;
//! Generator for \ref DiscreteGridViewFunction
//! Generator for \ref DiscreteGridViewFunction
...
@@ -59,23 +59,24 @@ namespace Dune
...
@@ -59,23 +59,24 @@ namespace Dune
* \param gridView Function that can be evaluated at global coordinates of the \ref Grid
* \param gridView Function that can be evaluated at global coordinates of the \ref Grid
* \param order Polynomial order of the local parametrization [ORDER]
* \param order Polynomial order of the local parametrization [ORDER]
*
*
* \tparam components Number of components in the Range type
* \tparam ORDER Polynomial order of the local parametrization [-1]
* \tparam ORDER Polynomial order of the local parametrization [-1]
* \tparam T Range-type of the basis and coefficient value-type [double]
* \tparam T Range-type of the basis and coefficient value-type [double]
**/
**/
template
<
int
dow
,
int
ORDER
=
-
1
,
class
T
=
double
,
class
GridView
>
template
<
int
components
,
int
ORDER
=
-
1
,
class
T
=
double
,
class
GridView
>
auto
discreteGridViewFunction
(
const
GridView
&
gridView
,
int
order
=
ORDER
)
auto
discreteGridViewFunction
(
const
GridView
&
gridView
,
int
order
=
ORDER
)
{
{
return
DiscreteGridViewFunction
<
GridView
,
dow
,
ORDER
,
T
>
{
gridView
,
order
};
return
DiscreteGridViewFunction
<
GridView
,
components
,
ORDER
,
T
>
{
gridView
,
order
};
}
}
template
<
class
GridView
,
int
dow
,
int
ORDER
,
class
T
>
template
<
class
GridView
,
int
components
,
int
ORDER
,
class
T
>
class
DiscreteGridViewFunction
class
DiscreteGridViewFunction
{
{
static
auto
makeBasis
(
const
GridView
&
gridView
,
int
order
)
static
auto
makeBasis
(
const
GridView
&
gridView
,
int
order
)
{
{
namespace
BF
=
Functions
::
BasisFactory
;
namespace
BF
=
Functions
::
BasisFactory
;
return
BF
::
makeBasis
(
gridView
,
BF
::
power
<
dow
>
(
BF
::
lagrange
<
T
>
(
order
),
BF
::
blockedInterleaved
()));
return
BF
::
makeBasis
(
gridView
,
BF
::
power
<
components
>
(
BF
::
lagrange
<
T
>
(
order
),
BF
::
blockedInterleaved
()));
}
}
using
Basis
=
decltype
(
makeBasis
(
std
::
declval
<
GridView
>
(),
ORDER
));
using
Basis
=
decltype
(
makeBasis
(
std
::
declval
<
GridView
>
(),
ORDER
));
...
@@ -84,7 +85,7 @@ namespace Dune
...
@@ -84,7 +85,7 @@ namespace Dune
using
EntitySet
=
Functions
::
GridViewEntitySet
<
GridView
,
0
>
;
using
EntitySet
=
Functions
::
GridViewEntitySet
<
GridView
,
0
>
;
using
Domain
=
typename
EntitySet
::
GlobalCoordinate
;
using
Domain
=
typename
EntitySet
::
GlobalCoordinate
;
using
Range
=
FieldVector
<
T
,
dow
>
;
using
Range
=
FieldVector
<
T
,
components
>
;
using
Signature
=
Range
(
Domain
);
using
Signature
=
Range
(
Domain
);
private:
private:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment