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
Aland, Sebastian
amdis
Commits
a13af864
Commit
a13af864
authored
Nov 10, 2014
by
Praetorius, Simon
Browse files
some small corrections in DOFVector added
parent
d5274317
Changes
2
Hide whitespace changes
Inline
Side-by-side
AMDiS/src/DOFVector.cc
View file @
a13af864
...
...
@@ -424,21 +424,21 @@ namespace AMDiS {
Mesh
::
FILL_COORDS
);
if
(
basisFcts
->
isNodal
())
{
while
(
elInfo
)
{
Element
*
el
=
elInfo
->
getElement
();
while
(
elInfo
)
{
Element
*
el
=
elInfo
->
getElement
();
basisFcts
->
getLocalIndices
(
el
,
feSpace
->
getAdmin
(),
myLocalIndices
);
source
->
getLocalVector
(
el
,
sourceLocalCoeffs
);
basisFcts
->
getLocalIndices
(
el
,
feSpace
->
getAdmin
(),
myLocalIndices
);
source
->
getLocalVector
(
el
,
sourceLocalCoeffs
);
for
(
int
i
=
0
;
i
<
nBasisFcts
;
i
++
)
{
if
(
vec
[
myLocalIndices
[
i
]]
==
0.0
)
{
coords
=
basisFcts
->
getCoords
(
i
);
vec
[
myLocalIndices
[
i
]]
=
sourceBasisFcts
->
evalUh
(
*
coords
,
sourceLocalCoeffs
)
*
factor
;
for
(
int
i
=
0
;
i
<
nBasisFcts
;
i
++
)
{
if
(
vec
[
myLocalIndices
[
i
]]
==
0.0
)
{
coords
=
basisFcts
->
getCoords
(
i
);
vec
[
myLocalIndices
[
i
]]
=
sourceBasisFcts
->
evalUh
(
*
coords
,
sourceLocalCoeffs
)
*
factor
;
}
}
elInfo
=
stack
.
traverseNext
(
elInfo
);
}
elInfo
=
stack
.
traverseNext
(
elInfo
);
}
}
else
{
}
else
{
// nonnodal base:
ElementFunctionWorld
<
double
>
F
(
source
,
factor
);
...
...
AMDiS/src/DOFVector.hh
View file @
a13af864
...
...
@@ -1174,9 +1174,6 @@ namespace AMDiS {
void
mv
(
MatrixTranspose
transpose
,
const
DOFMatrix
&
a
,
const
DOFVector
<
T
>&
x
,
DOFVector
<
T
>
&
result
,
bool
add
)
{
// Unfortunately needed
// using namespace mtl;
FUNCNAME
(
"DOFVector<T>::mv()"
);
TEST_EXIT
(
a
.
getRowFeSpace
()
&&
a
.
getColFeSpace
()
&&
...
...
@@ -1699,28 +1696,6 @@ namespace AMDiS {
}
}
// Some free functions used in MTL4
// template <typename T>
// inline std::size_t size(const AMDiS::DOFVector<T>& v)
// {
// return v.getSize();
// }
//
// template <typename T>
// inline std::size_t num_rows(const AMDiS::DOFVector<T>& v)
// {
// return v.getSize();
// }
//
//
// template <typename T>
// inline std::size_t num_cols(const AMDiS::DOFVector<T>& v)
// {
// return 1;
// }
template
<
typename
T
>
inline
void
set_to_zero
(
AMDiS
::
DOFVector
<
T
>&
v
)
{
...
...
@@ -1917,10 +1892,11 @@ namespace AMDiS {
}
// NOTE: We have to synchronize
the vectors in PARALLEL_DOMAIN_AMDIS mode
// NOTE: We have to synchronize the vectors in PARALLEL_DOMAIN_AMDIS mode
#ifdef HAVE_PARALLEL_DOMAIN_AMDIS
Parallel
::
MeshDistributor
::
globalMeshDistributor
->
synchAddVector
(
*
result
);
Parallel
::
MeshDistributor
::
globalMeshDistributor
->
synchAddVector
(
volume
);
Parallel
::
MeshDistributor
::
globalMeshDistributor
->
checkMeshChange
(
false
);
Parallel
::
MeshDistributor
::
globalMeshDistributor
->
synchAddVector
(
*
result
);
Parallel
::
MeshDistributor
::
globalMeshDistributor
->
synchAddVector
(
volume
);
#endif
DOFVector
<
double
>::
Iterator
volIt
(
&
volume
,
USED_DOFS
);
...
...
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