Evolving surface finite element method  v0.3.0-14-g3598512
Numerical experiments for my papers
Public Member Functions | Private Attributes | List of all members
Esfem::PrePattern_helper Class Reference

Implementation details for Brusselator_scheme::prePattern_loop(). More...

#include <brusselator_algo_impl.h>

Collaboration diagram for Esfem::PrePattern_helper:
Collaboration graph
[legend]

Public Member Functions

 PrePattern_helper (Brusselator_scheme &)
 Modifies private data members of Brusselator_scheme
 
void rhs ()
 Adds to member rhs_les from Brusselator_scheme::fef.u and Brusselator_scheme::fef.w More...
 
void solve_pde ()
 New value for member fun from Brusselator_scheme::fef.u and Brusselator_scheme::fef.w More...
 
void prepare_rhs ()
 New value for member rhs_les from Brusselator_scheme::fef.u and Brusselator_scheme::fef.w More...
 
void plot_paraview ()
 Prints out fun of Brusselator_scheme::fef.u and Brusselator_scheme::fef.w.
 

Private Attributes

Brusselator_scheme::Ioio
 Reference to Brusselator_scheme::io
 
Grid::Scal_FEfun_setu
 Reference to Brusselator_scheme::fef.u
 
Grid::Scal_FEfun_setw
 Reference to Brusselator_scheme::fef.w
 
const Dune::Fem::TimeProviderBase & tp
 
Io::Paraview paraview
 Has reference to member fun from u and w
 
Scalar_solver solver
 Brusselator solver.
 

Detailed Description

Implementation details for Brusselator_scheme::prePattern_loop().

Definition at line 108 of file brusselator_algo_impl.h.

Member Function Documentation

void PrePattern_helper::prepare_rhs ( )

New value for member rhs_les from Brusselator_scheme::fef.u and Brusselator_scheme::fef.w

rhs_les will have the following value for $u$ respectively $w$:

\begin{equation*} (M\nodalValue{u})^n \quad \lor\quad (M \nodalValue{w})^n. \end{equation*}

Definition at line 135 of file brusselator_algo_impl.cpp.

void PrePattern_helper::rhs ( )

Adds to member rhs_les from Brusselator_scheme::fef.u and Brusselator_scheme::fef.w

The new value of rhs_les from Brusselator_scheme::fef.u respectively Brusselator_scheme::fef.w will be

\begin{gather*} (M\nodalValue{u})^n + \tau \gamma a M^{n+1} \nodalValue{1}, \\ (M\nodalValue{w})^n + \tau \gamma b M^{n+1} \nodalValue{1}. \end{gather*}

Note that the surface is not changing at this stage.

Definition at line 123 of file brusselator_algo_impl.cpp.

void PrePattern_helper::solve_pde ( )

New value for member fun from Brusselator_scheme::fef.u and Brusselator_scheme::fef.w

We assume that the rhs_les has been prepared with finalize_rhs(). The vaule of fun will be overwritten with the solution of the following system for $u$ and $w$:

\begin{gather*} (1+ \tau \gamma) (M\nodalValue{u})^{n+1} + \tau (A \nodalValue{u})^{n+1} - \tau \gamma M^{n+1}(\nodalValue{u}^n, \nodalValue{w}^n) \nodalValue{u}^{n+1} = \nodalValue{y}_{1}, \\ (M\nodalValue{w})^{n+1} + \tau D_c (A \nodalValue{w})^{n+1} + \tau \gamma M^{n+1}(\nodalValue{u}^{n+1}, \nodalValue{u}^{n+1}) \nodalValue{w}^{n+1} = \nodalValue{y}_{2}, \end{gather*}

where $ \nodalValue{y}_{1,2}$ the right-hand side of the system is.

Definition at line 129 of file brusselator_algo_impl.cpp.

Member Data Documentation

const Dune::Fem::TimeProviderBase& Esfem::PrePattern_helper::tp
private

From Brusselator_scheme::fix_grid

Definition at line 167 of file brusselator_algo_impl.h.


The documentation for this class was generated from the following files: