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
870d16b5
Commit
870d16b5
authored
Jul 16, 2020
by
steffen.schotthoefer
Browse files
small change in solverbase
parent
45c3c394
Changes
6
Hide whitespace changes
Inline
Side-by-side
code/include/optimizers/newtonoptimizer.h
View file @
870d16b5
...
...
@@ -12,7 +12,7 @@ class NewtonOptimizer : public OptimizerBase
inline
~
NewtonOptimizer
()
{}
void
Solve
(
Vector
&
lambda
,
Vector
&
u
,
VectorVector
&
moments
,
unsigned
idx_cell
)
override
;
void
Solve
(
Vector
&
lambda
,
Vector
&
u
,
VectorVector
&
moments
,
unsigned
idx_cell
=
0
)
override
;
private:
/*! @brief: Computes gradient of objective function and stores it in grad
...
...
code/include/optimizers/optimizerbase.h
View file @
870d16b5
...
...
@@ -19,7 +19,7 @@ class OptimizerBase
/*! @brief : Computes the optimal Lagrange multilpiers for the dual entropy minimization problem
* @param : Vector u = pointer to vector of given moments. // Maybe use pointer for performance?
* @return : Vector alpha = optimal lagrange multipliers. Has the same length as Vector u. */
virtual
void
Solve
(
Vector
&
lambda
,
Vector
&
u
,
VectorVector
&
moments
,
unsigned
idx_cell
)
=
0
;
virtual
void
Solve
(
Vector
&
lambda
,
Vector
&
u
,
VectorVector
&
moments
,
unsigned
idx_cell
=
0
)
=
0
;
protected:
EntropyBase
*
_entropy
;
/*! @brief: Class to handle entropy functional evaluations */
...
...
code/include/solvers/csdsnsolver.h
View file @
870d16b5
...
...
@@ -7,6 +7,7 @@ class CSDSNSolver : public SNSolver
{
private:
std
::
vector
<
double
>
_dose
;
std
::
vector
<
double
>
_density
;
// patient density, dim(_density) = _nCells
public:
/**
...
...
code/include/solvers/mnsolver.h
View file @
870d16b5
...
...
@@ -20,10 +20,7 @@ class MNSolver : public Solver
/*! @brief MNSolver destructor */
~
MNSolver
();
/**
* @brief Solve functions runs main time loop
*/
void
Solve
()
override
;
void
Solve
()
override
;
/*! @brief Solve functions runs main time loop */
void
Save
()
const
override
;
/*! @brief Save Output solution to VTK file */
void
Save
(
int
currEnergy
)
const
override
;
/*! @brief Save Output solution at given energy (pseudo time) to VTK file */
...
...
code/include/solvers/solverbase.h
View file @
870d16b5
...
...
@@ -25,7 +25,6 @@ class Solver
unsigned
_nEnergies
;
/*! @brief number of energy/time steps, number of nodal energy values for CSD */
double
_dE
;
/*! @brief energy/time step size */
std
::
vector
<
double
>
_energies
;
// energy groups used in the simulation [keV]
std
::
vector
<
double
>
_density
;
// patient density, dim(_density) = _nCells
std
::
vector
<
double
>
_s
;
// stopping power, dim(_s) = _nTimeSteps
std
::
vector
<
VectorVector
>
_Q
;
/*! @brief external source term */
...
...
code/src/solvers/mnsolver.cpp
View file @
870d16b5
...
...
@@ -182,6 +182,8 @@ void MNSolver::Solve() {
+
_sigmaS
[
idx_energy
][
idx_cell
]
*
_scatterMatDiag
[
idx_system
]
);
/* scattering influence */
}
}
// Update Solution
_sol
=
psiNew
;
// pseudo time iteration output
...
...
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