Commit 1d7401c8 authored by Dennis Gläser's avatar Dennis Gläser Committed by Dennis Gläser
Browse files

[pdesolver] provide access to assembler/linear solver

parent 8bf983ed
...@@ -64,16 +64,19 @@ using AssemblerVariables = typename VariablesChooser<Assembler>::Type; ...@@ -64,16 +64,19 @@ using AssemblerVariables = typename VariablesChooser<Assembler>::Type;
* and has a method solve that linearizes (if not already linear), assembles, solves and updates * and has a method solve that linearizes (if not already linear), assembles, solves and updates
* given an initial solution producing a new solution. * given an initial solution producing a new solution.
* *
* \tparam Assembler A PDE linearized system assembler * \tparam A Assembler for linearized system of the PDE
* \tparam LinearSolver A linear system solver * \tparam LS Linear system solver
*/ */
template<class Assembler, class LinearSolver> template<class A, class LS>
class PDESolver class PDESolver
{ {
using Scalar = typename Assembler::Scalar; using Scalar = typename A::Scalar;
using TimeLoop = TimeLoopBase<Scalar>; using TimeLoop = TimeLoopBase<Scalar>;
public: public:
//! export the assembler and linear solver types
using Assembler = A;
using LinearSolver = LS;
//! export the type of variables that represent a numerical solution //! export the type of variables that represent a numerical solution
using Variables = Detail::AssemblerVariables<Assembler>; using Variables = Detail::AssemblerVariables<Assembler>;
...@@ -112,8 +115,6 @@ public: ...@@ -112,8 +115,6 @@ public:
solve(vars); solve(vars);
} }
protected:
/*! /*!
* \brief Access the assembler * \brief Access the assembler
*/ */
...@@ -132,6 +133,8 @@ protected: ...@@ -132,6 +133,8 @@ protected:
const LinearSolver& linearSolver() const const LinearSolver& linearSolver() const
{ return *linearSolver_; } { return *linearSolver_; }
protected:
/*! /*!
* \brief Access the linear solver * \brief Access the linear solver
*/ */
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment