Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dune-common
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Timo Koch
dune-common
Commits
7535e1b2
Commit
7535e1b2
authored
19 years ago
by
Adrian Burri
Browse files
Options
Downloads
Patches
Plain Diff
Simplified typedef structure
[[Imported from SVN: r2717]]
parent
7295db67
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
fem/space/combinedspace.cc
+14
-14
14 additions, 14 deletions
fem/space/combinedspace.cc
fem/space/combinedspace.hh
+27
-49
27 additions, 49 deletions
fem/space/combinedspace.hh
with
41 additions
and
63 deletions
fem/space/combinedspace.cc
+
14
−
14
View file @
7535e1b2
...
...
@@ -43,9 +43,9 @@ namespace Dune {
}
//- CombinedBaseFunctionSet
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
template
<
int
diffOrd
>
void
CombinedBaseFunctionSet
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>::
void
CombinedBaseFunctionSet
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>::
evaluate
(
int
baseFunct
,
const
FieldVector
<
deriType
,
diffOrd
>
&
diffVariable
,
const
DomainType
&
x
,
RangeType
&
phi
)
const
...
...
@@ -55,9 +55,9 @@ namespace Dune {
expand
(
baseFunct
,
containedResult_
,
phi
);
}
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
template
<
int
diffOrd
,
class
QuadratureType
>
void
CombinedBaseFunctionSet
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>::
void
CombinedBaseFunctionSet
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>::
evaluate
(
int
baseFunct
,
const
FieldVector
<
deriType
,
diffOrd
>
&
diffVariable
,
QuadratureType
&
quad
,
...
...
@@ -68,24 +68,24 @@ namespace Dune {
expand
(
baseFunct
,
containedResult_
,
phi
);
}
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
inline
int
CombinedBaseFunctionSet
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>::
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
inline
int
CombinedBaseFunctionSet
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>::
containedDof
(
int
combinedBaseNumber
)
const
{
//return global%N;
return
combinedBaseNumber
/
N
;
}
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
inline
int
CombinedBaseFunctionSet
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>::
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
inline
int
CombinedBaseFunctionSet
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>::
component
(
int
combinedBaseNumber
)
const
{
//return global%N;
return
combinedBaseNumber
%
N
;
}
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
void
CombinedBaseFunctionSet
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>::
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
void
CombinedBaseFunctionSet
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>::
expand
(
int
baseFunct
,
const
ContainedRangeType
&
arg
,
RangeType
&
dest
)
const
{
dest
=
0.0
;
...
...
@@ -93,8 +93,8 @@ namespace Dune {
dest
[
component
(
baseFunct
)]
=
arg
[
0
];
}
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
void
CombinedBaseFunctionSet
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>::
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
void
CombinedBaseFunctionSet
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>::
evaluateContained
(
int
baseFunct
,
const
DomainType
&
x
,
ContainedRangeType
&
phi
)
const
...
...
@@ -104,8 +104,8 @@ namespace Dune {
baseFunctionSet_
.
eval
(
baseFunct
,
x
,
phi
);
}
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
void
CombinedBaseFunctionSet
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>::
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
void
CombinedBaseFunctionSet
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>::
jacobianContained
(
int
baseFunct
,
const
DomainType
&
x
,
ContainedJacobianRangeType
&
phi
)
const
...
...
This diff is collapsed.
Click to expand it.
fem/space/combinedspace.hh
+
27
−
49
View file @
7535e1b2
...
...
@@ -58,13 +58,14 @@ namespace Dune {
struct
CombinedSpaceTraits
{
private:
typedef
DiscreteFunctionSpaceImp
ContainedDiscreteFunctionSpaceType
;
// typedef ContainedDiscreteFunctionSpaceType::MapperType ContainedMapperType;
typedef
typename
ContainedDiscreteFunctionSpaceType
::
Traits
ContainedTraits
;
typedef
typename
ContainedTraits
::
FunctionSpaceType
Contained
Space
Traits
;
typedef
typename
Contained
Space
Traits
::
FunctionSpaceType
ContainedFunctionSpaceType
;
typedef
typename
ContainedTraits
::
BaseFunctionSetType
typedef
typename
Contained
Space
Traits
::
BaseFunctionSetType
ContainedBaseFunctionSetType
;
typedef
typename
ContainedSpaceTraits
::
MapperType
ContainedMapperType
;
enum
{
ContainedDimRange
=
ContainedFunctionSpaceType
::
DimRange
,
ContainedDimDomain
=
ContainedFunctionSpaceType
::
DimDomain
};
...
...
@@ -80,21 +81,27 @@ namespace Dune {
typedef
CombinedSpace
<
DiscreteFunctionSpaceImp
,
N
,
policy
>
DiscreteFunctionSpaceType
;
typedef
FunctionSpace
<
DomainFieldType
,
RangeFieldType
,
ContainedDimDomain
,
ContainedDimRange
*
N
>
FunctionSpaceType
;
typedef
FunctionSpace
<
DomainFieldType
,
RangeFieldType
,
ContainedDimDomain
,
ContainedDimRange
*
N
>
FunctionSpaceType
;
typedef
CombinedBaseFunctionSet
<
ContainedBas
eFunctionS
etType
,
N
,
policy
>
BaseFunctionSetType
;
Discret
eFunctionS
paceImp
,
N
,
policy
>
BaseFunctionSetType
;
typedef
CombinedMapper
<
DiscreteFunctionSpaceImp
,
N
,
policy
>
MapperType
;
typedef
typename
FunctionSpaceType
::
RangeType
RangeType
;
typedef
typename
FunctionSpaceType
::
DomainType
DomainType
;
typedef
typename
FunctionSpaceType
::
RangeFieldType
RangeFieldType
;
typedef
typename
FunctionSpaceType
::
DomainFieldType
DomainFieldType
;
typedef
typename
FunctionSpaceType
::
JacobianRangeType
JacobianRangeType
;
typedef
typename
ContainedTraits
::
GridType
GridType
;
typedef
typename
ContainedTraits
::
IteratorType
IteratorType
;
typedef
typename
Contained
Space
Traits
::
GridType
GridType
;
typedef
typename
Contained
Space
Traits
::
IteratorType
IteratorType
;
enum
{
DimRange
=
FunctionSpaceType
::
DimRange
,
DimDomain
=
FunctionSpaceType
::
DimDomain
};
public
:
//- Friends
friend
class
DiscreteFunctionSpaceType
;
friend
class
BaseFunctionSetType
;
friend
class
MapperType
;
};
//! Class to combine N scalar spaces
...
...
@@ -197,54 +204,25 @@ namespace Dune {
static
const
int
spaceId_
;
};
// end class CombinedSpace
//! Traits class for CombinedBaseFunctionSet
template
<
class
BaseFunctionSetImp
,
int
N
,
DofStoragePolicy
policy
>
struct
CombinedBaseFunctionSetTraits
{
private:
typedef
typename
BaseFunctionSetImp
::
DiscreteFunctionSpaceType
ContainedFunctionSpaceType
;
public:
typedef
CombinedBaseFunctionSet
<
BaseFunctionSetImp
,
N
,
policy
>
BaseFunctionSetType
;
typedef
CombinedSpace
<
ContainedFunctionSpaceType
,
N
,
policy
>
DiscreteFunctionSpaceType
;
typedef
typename
DiscreteFunctionSpaceType
::
RangeType
RangeType
;
typedef
typename
DiscreteFunctionSpaceType
::
DomainType
DomainType
;
typedef
typename
DiscreteFunctionSpaceType
::
JacobianRangeType
JacobianRangeType
;
typedef
typename
DiscreteFunctionSpaceType
::
HessianRangeType
HessianRangeType
;
typedef
typename
DiscreteFunctionSpaceType
::
ContainedRangeType
ContainedRangeType
;
typedef
typename
DiscreteFunctionSpaceType
::
ContainedJacobianRangeType
ContainedJacobianRangeType
;
enum
{
DimDomain
=
DiscreteFunctionSpaceType
::
DimDomain
};
enum
{
DimRange
=
DiscreteFunctionSpaceType
::
DimRange
};
};
//! Wrapper class for base function sets. This class is used within
//! CombinedSpace
template
<
class
Bas
eFunctionSe
t
Imp
,
int
N
,
DofStoragePolicy
policy
>
template
<
class
Discret
eFunctionS
pac
eImp
,
int
N
,
DofStoragePolicy
policy
>
class
CombinedBaseFunctionSet
:
public
BaseFunctionSetDefault
<
Combined
BaseFunctionSetTraits
<
Bas
eFunctionSe
t
Imp
,
N
,
policy
>
Combined
SpaceTraits
<
Discret
eFunctionS
pac
eImp
,
N
,
policy
>
>
{
private:
//- Private typedefs
typedef
BaseFunctionSetImp
ContainedBaseFunctionSetType
;
typedef
ContainedBaseFunctionSetType
::
RangeType
ContainedRangeType
;
public:
//- Typedefs and enums
enum
{
numComponents
=
N
};
typedef
CombinedBaseFunctionSet
<
BaseFunctionSetImp
,
N
,
policy
>
ThisType
;
typedef
CombinedBaseFunctionSet
<
DiscreteFunctionSpaceImp
,
N
,
policy
>
ThisType
;
typedef
CombinedSpaceTraits
<
DiscreteFunctionSpaceImp
,
N
,
policy
>
Traits
;
typedef
CombinedBaseFunctionSetTraits
<
BaseFunctionSetImp
,
N
,
policy
>
Traits
;
typedef
typename
Traits
::
DiscreteFunctionSpaceType
DiscreteFunctionSpaceType
;
typedef
typename
Traits
::
DiscreteFunctionSpaceType
DiscreteFunctionSpaceType
;
typedef
typename
Traits
::
ContainedBaseFunctionSetType
ContainedBaseFunctionSetType
;
typedef
typename
Traits
::
RangeType
RangeType
;
typedef
typename
Traits
::
DomainType
DomainType
;
typedef
typename
Traits
::
ContainedRangeType
ContainedRangeType
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment