Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
KiT-RT
KiT-RT
Commits
7fa77955
Commit
7fa77955
authored
Dec 14, 2020
by
Steffen Schotthöfer
Browse files
reformatting of some code to match clang standard.
parent
09dd328d
Pipeline
#123337
failed with stage
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
code/src/solvers/pnsolver.cpp
View file @
7fa77955
...
...
@@ -117,32 +117,26 @@ void PNSolver::FluxUpdate() {
// second order solver
case
2
:
// left status of interface
solL
=
_sol
[
idx_cell
]
+
_solDx
[
idx_cell
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
idx_cell
][
0
]
)
+
solL
=
_sol
[
idx_cell
]
+
_solDx
[
idx_cell
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
idx_cell
][
0
]
)
+
_solDy
[
idx_cell
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
1
]
-
_cellMidPoints
[
idx_cell
][
1
]
);
// right status of interface
solR
=
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]]
+
_solDx
[
_neighbors
[
idx_cell
][
idx_neighbor
]]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
0
]
)
+
_solDy
[
_neighbors
[
idx_cell
][
idx_neighbor
]]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
1
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
1
]
);
_solDx
[
_neighbors
[
idx_cell
][
idx_neighbor
]]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
0
]
)
+
_solDy
[
_neighbors
[
idx_cell
][
idx_neighbor
]]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
1
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
1
]
);
// positivity checker (if not satisfied, deduce to first order)
// I manually turned it off here since Pn produces negative solutions essentially
//if( min(solL) < 0.0 || min(solR) < 0.0 ) {
//
if( min(solL) < 0.0 || min(solR) < 0.0 ) {
// solL = _sol[idx_cell];
// solR = _sol[_neighbors[idx_cell][idx_neighbor]];
//}
// flux evaluation
_solNew
[
idx_cell
]
+=
_g
->
Flux
(
_AxPlus
,
_AxMinus
,
_AyPlus
,
_AyMinus
,
_AzPlus
,
_AzMinus
,
solL
,
solR
,
_normals
[
idx_cell
][
idx_neighbor
]
);
_solNew
[
idx_cell
]
+=
_g
->
Flux
(
_AxPlus
,
_AxMinus
,
_AyPlus
,
_AyMinus
,
_AzPlus
,
_AzMinus
,
solL
,
solR
,
_normals
[
idx_cell
][
idx_neighbor
]
);
break
;
// default: first order solver
default:
default:
_solNew
[
idx_cell
]
+=
_g
->
Flux
(
_AxPlus
,
_AxMinus
,
_AyPlus
,
...
...
code/src/solvers/snsolver.cpp
View file @
7fa77955
...
...
@@ -10,8 +10,8 @@
// externals
#include "spdlog/spdlog.h"
#include <mpi.h>
#include <iostream>
#include <mpi.h>
SNSolver
::
SNSolver
(
Config
*
settings
)
:
Solver
(
settings
)
{
...
...
@@ -115,39 +115,44 @@ void SNSolver::FluxUpdate() {
_solNew
[
idx_cell
][
idx_quad
]
+=
_g
->
Flux
(
_quadPoints
[
idx_quad
],
_sol
[
idx_cell
][
idx_quad
],
_sol
[
idx_cell
][
idx_quad
],
_normals
[
idx_cell
][
idx_neighbor
]
);
else
{
switch
(
_reconsOrder
)
{
// first order solver
case
1
:
_solNew
[
idx_cell
][
idx_quad
]
+=
_g
->
Flux
(
_quadPoints
[
idx_quad
],
_sol
[
idx_cell
][
idx_quad
],
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
],
_normals
[
idx_cell
][
idx_neighbor
]
);
break
;
// second order solver
case
2
:
// left status of interface
psiL
=
_sol
[
idx_cell
][
idx_quad
]
+
_psiDx
[
idx_cell
][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
idx_cell
][
0
]
)
+
_psiDy
[
idx_cell
][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
1
]
-
_cellMidPoints
[
idx_cell
][
1
]
);
// right status of interface
psiR
=
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
]
+
_psiDx
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
0
]
)
+
_psiDy
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
1
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
1
]
);
// positivity check (if not satisfied, deduce to first order)
if
(
psiL
<
0.0
||
psiR
<
0.0
)
{
psiL
=
_sol
[
idx_cell
][
idx_quad
];
psiR
=
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
];
}
// flux evaluation
_solNew
[
idx_cell
][
idx_quad
]
+=
_g
->
Flux
(
_quadPoints
[
idx_quad
],
psiL
,
psiR
,
_normals
[
idx_cell
][
idx_neighbor
]
);
break
;
// higher order solver
case
3
:
std
::
cout
<<
"higher order is WIP"
<<
std
::
endl
;
break
;
// default: first order solver
default:
_solNew
[
idx_cell
][
idx_quad
]
+=
_g
->
Flux
(
_quadPoints
[
idx_quad
],
_sol
[
idx_cell
][
idx_quad
],
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
],
_normals
[
idx_cell
][
idx_neighbor
]
);
switch
(
_reconsOrder
)
{
// first order solver
case
1
:
_solNew
[
idx_cell
][
idx_quad
]
+=
_g
->
Flux
(
_quadPoints
[
idx_quad
],
_sol
[
idx_cell
][
idx_quad
],
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
],
_normals
[
idx_cell
][
idx_neighbor
]
);
break
;
// second order solver
case
2
:
// left status of interface
psiL
=
_sol
[
idx_cell
][
idx_quad
]
+
_psiDx
[
idx_cell
][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
idx_cell
][
0
]
)
+
_psiDy
[
idx_cell
][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
1
]
-
_cellMidPoints
[
idx_cell
][
1
]
);
// right status of interface
psiR
=
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
]
+
_psiDx
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
0
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
0
]
)
+
_psiDy
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
]
*
(
_interfaceMidPoints
[
idx_cell
][
idx_neighbor
][
1
]
-
_cellMidPoints
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
1
]
);
// positivity check (if not satisfied, deduce to first order)
if
(
psiL
<
0.0
||
psiR
<
0.0
)
{
psiL
=
_sol
[
idx_cell
][
idx_quad
];
psiR
=
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
];
}
// flux evaluation
_solNew
[
idx_cell
][
idx_quad
]
+=
_g
->
Flux
(
_quadPoints
[
idx_quad
],
psiL
,
psiR
,
_normals
[
idx_cell
][
idx_neighbor
]
);
break
;
// higher order solver
case
3
:
std
::
cout
<<
"higher order is WIP"
<<
std
::
endl
;
break
;
// default: first order solver
default:
_solNew
[
idx_cell
][
idx_quad
]
+=
_g
->
Flux
(
_quadPoints
[
idx_quad
],
_sol
[
idx_cell
][
idx_quad
],
_sol
[
_neighbors
[
idx_cell
][
idx_neighbor
]][
idx_quad
],
_normals
[
idx_cell
][
idx_neighbor
]
);
}
}
}
...
...
code/src/solvers/solverbase.cpp
View file @
7fa77955
...
...
@@ -32,10 +32,10 @@ Solver::Solver( Config* settings ) {
// build slope related params
_reconstructor
=
Reconstructor
::
Create
(
settings
);
_reconsOrder
=
_reconstructor
->
GetReconsOrder
();
_reconsOrder
=
_reconstructor
->
GetReconsOrder
();
auto
nodes
=
_mesh
->
GetNodes
();
auto
cells
=
_mesh
->
GetCells
();
auto
nodes
=
_mesh
->
GetNodes
();
auto
cells
=
_mesh
->
GetCells
();
std
::
vector
<
std
::
vector
<
Vector
>>
interfaceMidPoints
(
_nCells
,
std
::
vector
<
Vector
>
(
_mesh
->
GetNumNodesPerCell
(),
Vector
(
2
,
1e-10
)
)
);
for
(
unsigned
idx_cell
=
0
;
idx_cell
<
_nCells
;
++
idx_cell
)
{
for
(
unsigned
k
=
0
;
k
<
_mesh
->
GetDim
();
++
k
)
{
...
...
@@ -47,7 +47,7 @@ Solver::Solver( Config* settings ) {
}
}
_interfaceMidPoints
=
interfaceMidPoints
;
_cellMidPoints
=
_mesh
->
GetCellMidPoints
();
_cellMidPoints
=
_mesh
->
GetCellMidPoints
();
_psiDx
=
VectorVector
(
_nCells
,
Vector
(
_nq
,
0.0
)
);
_psiDy
=
VectorVector
(
_nCells
,
Vector
(
_nq
,
0.0
)
);
...
...
jannick.wolters
@jm2154
mentioned in commit
1400f222
·
Apr 30, 2021
mentioned in commit
1400f222
mentioned in commit 1400f22297a61beb888922901c285482446c5da0
Toggle commit list
Write
Preview
Markdown
is supported
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