Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
O
ogs-feliks
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
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
Feliks Kiszkurno
ogs-feliks
Commits
972810e3
Commit
972810e3
authored
2 years ago
by
Christoph Lehmann
Committed by
Dmitri Naumov
2 years ago
Browse files
Options
Downloads
Patches
Plain Diff
[NL] Removed mesh element template param
parent
d05789c5
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
NumLib/Fem/CoordinatesMapping/NaturalCoordinatesMapping.cpp
+29
-32
29 additions, 32 deletions
NumLib/Fem/CoordinatesMapping/NaturalCoordinatesMapping.cpp
NumLib/Fem/CoordinatesMapping/NaturalCoordinatesMapping.h
+3
-4
3 additions, 4 deletions
NumLib/Fem/CoordinatesMapping/NaturalCoordinatesMapping.h
with
32 additions
and
36 deletions
NumLib/Fem/CoordinatesMapping/NaturalCoordinatesMapping.cpp
+
29
−
32
View file @
972810e3
...
...
@@ -62,9 +62,9 @@ struct FieldType
{
};
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
inline
void
computeMappingMatrices
(
const
T_MESH_ELEMENT
&
/*ele*/
,
const
MeshLib
::
Element
&
/*ele*/
,
const
double
*
natural_pt
,
const
MeshLib
::
ElementCoordinatesMappingLocal
&
/*ele_local_coord*/
,
T_SHAPE_MATRICES
&
shapemat
,
...
...
@@ -73,9 +73,9 @@ inline void computeMappingMatrices(
T_SHAPE_FUNC
::
computeShapeFunction
(
natural_pt
,
shapemat
.
N
);
}
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
inline
void
computeMappingMatrices
(
const
T_MESH_ELEMENT
&
/*ele*/
,
const
MeshLib
::
Element
&
/*ele*/
,
[[
maybe_unused
]]
const
double
*
natural_pt
,
const
MeshLib
::
ElementCoordinatesMappingLocal
&
/*ele_local_coord*/
,
[[
maybe_unused
]]
T_SHAPE_MATRICES
&
shapemat
,
...
...
@@ -126,9 +126,9 @@ static void checkJacobianDeterminant(const double detJ,
}
}
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
inline
void
computeMappingMatrices
(
const
T_MESH_ELEMENT
&
ele
,
const
MeshLib
::
Element
&
ele
,
[[
maybe_unused
]]
const
double
*
natural_pt
,
const
MeshLib
::
ElementCoordinatesMappingLocal
&
ele_local_coord
,
T_SHAPE_MATRICES
&
shapemat
,
...
...
@@ -136,15 +136,15 @@ inline void computeMappingMatrices(
{
if
constexpr
(
T_SHAPE_FUNC
::
DIM
!=
0
)
{
computeMappingMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
computeMappingMatrices
<
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
shapemat
,
FieldType
<
ShapeMatrixType
::
DNDR
>
());
auto
const
dim
=
T_MESH_ELEMENT
::
d
imension
;
auto
const
nnodes
=
T_MESH_ELEMENT
::
n_all_nodes
;
auto
const
dim
=
ele
.
getD
imension
()
;
auto
const
nnodes
=
ele
.
getNumberOfNodes
();
// TODO Taylor-Hood
// jacobian: J=[dx/dr dy/dr // dx/ds dy/ds]
for
(
auto
k
=
decltype
(
nnodes
){
0
};
k
<
nnodes
;
k
++
)
...
...
@@ -171,21 +171,21 @@ inline void computeMappingMatrices(
}
}
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
inline
void
computeMappingMatrices
(
const
T_MESH_ELEMENT
&
ele
,
const
MeshLib
::
Element
&
ele
,
const
double
*
natural_pt
,
const
MeshLib
::
ElementCoordinatesMappingLocal
&
ele_local_coord
,
T_SHAPE_MATRICES
&
shapemat
,
FieldType
<
ShapeMatrixType
::
N_J
>
/*unused*/
)
{
computeMappingMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
computeMappingMatrices
<
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
shapemat
,
FieldType
<
ShapeMatrixType
::
N
>
());
computeMappingMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
computeMappingMatrices
<
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
...
...
@@ -193,15 +193,15 @@ inline void computeMappingMatrices(
FieldType
<
ShapeMatrixType
::
DNDR_J
>
());
}
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
inline
void
computeMappingMatrices
(
const
T_MESH_ELEMENT
&
ele
,
const
MeshLib
::
Element
&
ele
,
const
double
*
natural_pt
,
const
MeshLib
::
ElementCoordinatesMappingLocal
&
ele_local_coord
,
T_SHAPE_MATRICES
&
shapemat
,
FieldType
<
ShapeMatrixType
::
DNDX
>
/*unused*/
)
{
computeMappingMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
computeMappingMatrices
<
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
...
...
@@ -238,21 +238,21 @@ inline void computeMappingMatrices(
}
}
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
>
inline
void
computeMappingMatrices
(
const
T_MESH_ELEMENT
&
ele
,
const
MeshLib
::
Element
&
ele
,
const
double
*
natural_pt
,
const
MeshLib
::
ElementCoordinatesMappingLocal
&
ele_local_coord
,
T_SHAPE_MATRICES
&
shapemat
,
FieldType
<
ShapeMatrixType
::
ALL
>
/*unused*/
)
{
computeMappingMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
computeMappingMatrices
<
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
shapemat
,
FieldType
<
ShapeMatrixType
::
N
>
());
computeMappingMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
computeMappingMatrices
<
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
...
...
@@ -260,11 +260,10 @@ inline void computeMappingMatrices(
FieldType
<
ShapeMatrixType
::
DNDX
>
());
}
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
,
ShapeMatrixType
T_SHAPE_MATRIX_TYPE
>
void
naturalCoordinatesMappingComputeShapeMatrices
(
const
T_MESH_ELEMENT
&
ele
,
void
naturalCoordinatesMappingComputeShapeMatrices
(
const
MeshLib
::
Element
&
ele
,
const
double
*
natural_pt
,
T_SHAPE_MATRICES
&
shapemat
,
const
unsigned
global_dim
)
...
...
@@ -272,23 +271,21 @@ void naturalCoordinatesMappingComputeShapeMatrices(const T_MESH_ELEMENT& ele,
const
MeshLib
::
ElementCoordinatesMappingLocal
ele_local_coord
(
ele
,
global_dim
);
detail
::
computeMappingMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
shapemat
,
detail
::
FieldType
<
T_SHAPE_MATRIX_TYPE
>
());
detail
::
computeMappingMatrices
<
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
>
(
ele
,
natural_pt
,
ele_local_coord
,
shapemat
,
detail
::
FieldType
<
T_SHAPE_MATRIX_TYPE
>
());
}
#define OGS_INSTANTIATE_NATURAL_COORDINATES_MAPPING_PART( \
RULE, SHAPE, DIM, WHICHPART, SHAPEMATRIXPOLICY) \
template void naturalCoordinatesMappingComputeShapeMatrices< \
MeshLib::TemplateElement<MeshLib::RULE>, \
NumLib::SHAPE, \
SHAPEMATRIXPOLICY<NumLib::SHAPE, DIM>::ShapeMatrices, \
ShapeMatrixType::WHICHPART>( \
MeshLib::
TemplateElement<MeshLib::RULE> const&,
\
MeshLib::
Element const&,
\
double const*, \
SHAPEMATRIXPOLICY<NumLib::SHAPE, DIM>::ShapeMatrices&, \
const unsigned global_dim)
...
...
This diff is collapsed.
Click to expand it.
NumLib/Fem/CoordinatesMapping/NaturalCoordinatesMapping.h
+
3
−
4
View file @
972810e3
...
...
@@ -12,6 +12,7 @@
#pragma once
#include
"MeshLib/Elements/Element.h"
#include
"ShapeMatrices.h"
namespace
NumLib
...
...
@@ -19,11 +20,10 @@ namespace NumLib
namespace
detail
{
//! Used to explicitly instantiate the NaturalCoordinatesMapping class template.
template
<
class
T_MESH_ELEMENT
,
class
T_SHAPE_FUNC
,
template
<
class
T_SHAPE_FUNC
,
class
T_SHAPE_MATRICES
,
ShapeMatrixType
T_SHAPE_MATRIX_TYPE
>
void
naturalCoordinatesMappingComputeShapeMatrices
(
const
T_MESH_ELEMENT
&
ele
,
void
naturalCoordinatesMappingComputeShapeMatrices
(
const
MeshLib
::
Element
&
ele
,
const
double
*
natural_pt
,
T_SHAPE_MATRICES
&
shapemat
,
const
unsigned
global_dim
);
...
...
@@ -79,7 +79,6 @@ struct NaturalCoordinatesMapping
const
unsigned
global_dim
)
{
detail
::
naturalCoordinatesMappingComputeShapeMatrices
<
T_MESH_ELEMENT
,
T_SHAPE_FUNC
,
T_SHAPE_MATRICES
,
T_SHAPE_MATRIX_TYPE
>
(
ele
,
natural_pt
,
shapemat
,
global_dim
);
...
...
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