LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Public Member Functions | Private Attributes | List of all members
FisherKPP::StrangSplit Class Reference

#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/fisher_kpp/strangsplitting.h>

Public Member Functions

 StrangSplit ()=delete
 
 StrangSplit (const StrangSplit &)=delete
 
 StrangSplit (StrangSplit &&)=delete
 
StrangSplitoperator= (const StrangSplit &)=delete
 
StrangSplitoperator= (const StrangSplit &&)=delete
 
template<typename DIFF_COEFF , typename NONLOC_BC >
 StrangSplit (std::shared_ptr< lf::uscalfe::UniformScalarFESpace< double > > &fe_space, double T, unsigned int m, double lambda, DIFF_COEFF &&c, NONLOC_BC &&h, const Eigen::MatrixXd &L)
 
virtual ~StrangSplit ()=default
 
Eigen::VectorXd diffusionEvolutionOperator (bool firstcall, const Eigen::VectorXd &mu)
 
Eigen::VectorXd Evolution (const Eigen::VectorXd &cap, const Eigen::VectorXd &mu)
 
template<typename DIFF_COEFF , typename NONLOC_BC >
 StrangSplit (std::shared_ptr< lf::uscalfe::UniformScalarFESpace< double > > &fe_space, double T, unsigned m, double lambda, DIFF_COEFF &&c, NONLOC_BC &&h, const Eigen::MatrixXd &L)
 

Private Attributes

const std::shared_ptr< lf::uscalfe::UniformScalarFESpace< double > > fe_space_
 
double T_
 
unsigned int m_
 
double tau_
 
double lambda_
 
double kappa_
 
Eigen::SparseMatrix< double > A_
 
Eigen::SparseMatrix< double > M_
 
Eigen::SparseLU< Eigen::SparseMatrix< double > > solver1
 
Eigen::SparseLU< Eigen::SparseMatrix< double > > solver2
 

Detailed Description

Definition at line 29 of file strangsplitting.h.

Constructor & Destructor Documentation

◆ StrangSplit() [1/5]

FisherKPP::StrangSplit::StrangSplit ( )
delete

◆ StrangSplit() [2/5]

FisherKPP::StrangSplit::StrangSplit ( const StrangSplit )
delete

◆ StrangSplit() [3/5]

FisherKPP::StrangSplit::StrangSplit ( StrangSplit &&  )
delete

◆ StrangSplit() [4/5]

template<typename DIFF_COEFF , typename NONLOC_BC >
FisherKPP::StrangSplit::StrangSplit ( std::shared_ptr< lf::uscalfe::UniformScalarFESpace< double > > &  fe_space,
double  T,
unsigned int  m,
double  lambda,
DIFF_COEFF &&  c,
NONLOC_BC &&  h,
const Eigen::MatrixXd &  L 
)
explicit

◆ ~StrangSplit()

virtual FisherKPP::StrangSplit::~StrangSplit ( )
virtualdefault

◆ StrangSplit() [5/5]

template<typename DIFF_COEFF , typename NONLOC_BC >
FisherKPP::StrangSplit::StrangSplit ( std::shared_ptr< lf::uscalfe::UniformScalarFESpace< double > > &  fe_space,
double  T,
unsigned  m,
double  lambda,
DIFF_COEFF &&  c,
NONLOC_BC &&  h,
const Eigen::MatrixXd &  L 
)

Definition at line 178 of file strangsplitting.h.

References A_, FisherKPP::assembleGalerkinMatrices(), fe_space_, kappa_, m_, M_, solver1, solver2, T_, and tau_.

Member Function Documentation

◆ diffusionEvolutionOperator()

Eigen::VectorXd FisherKPP::StrangSplit::diffusionEvolutionOperator ( bool  firstcall,
const Eigen::VectorXd &  mu 
)

Definition at line 15 of file strangsplitting.cc.

References A_, kappa_, solver1, solver2, and tau_.

Referenced by Evolution().

◆ Evolution()

Eigen::VectorXd FisherKPP::StrangSplit::Evolution ( const Eigen::VectorXd &  cap,
const Eigen::VectorXd &  mu 
)

Definition at line 53 of file strangsplitting.cc.

References diffusionEvolutionOperator(), fe_space_, lambda_, m_, and tau_.

◆ operator=() [1/2]

StrangSplit & FisherKPP::StrangSplit::operator= ( const StrangSplit &&  )
delete

◆ operator=() [2/2]

StrangSplit & FisherKPP::StrangSplit::operator= ( const StrangSplit )
delete

Member Data Documentation

◆ A_

Eigen::SparseMatrix<double> FisherKPP::StrangSplit::A_
private

Definition at line 67 of file strangsplitting.h.

Referenced by diffusionEvolutionOperator(), and StrangSplit().

◆ fe_space_

const std::shared_ptr<lf::uscalfe::UniformScalarFESpace<double> > FisherKPP::StrangSplit::fe_space_
private

Definition at line 54 of file strangsplitting.h.

Referenced by Evolution(), and StrangSplit().

◆ kappa_

double FisherKPP::StrangSplit::kappa_
private

Definition at line 64 of file strangsplitting.h.

Referenced by diffusionEvolutionOperator(), and StrangSplit().

◆ lambda_

double FisherKPP::StrangSplit::lambda_
private

Definition at line 62 of file strangsplitting.h.

Referenced by Evolution().

◆ m_

unsigned int FisherKPP::StrangSplit::m_
private

Definition at line 58 of file strangsplitting.h.

Referenced by Evolution(), and StrangSplit().

◆ M_

Eigen::SparseMatrix<double> FisherKPP::StrangSplit::M_
private

Definition at line 69 of file strangsplitting.h.

Referenced by StrangSplit().

◆ solver1

Eigen::SparseLU<Eigen::SparseMatrix<double> > FisherKPP::StrangSplit::solver1
private

Definition at line 71 of file strangsplitting.h.

Referenced by diffusionEvolutionOperator(), and StrangSplit().

◆ solver2

Eigen::SparseLU<Eigen::SparseMatrix<double> > FisherKPP::StrangSplit::solver2
private

Definition at line 72 of file strangsplitting.h.

Referenced by diffusionEvolutionOperator(), and StrangSplit().

◆ T_

double FisherKPP::StrangSplit::T_
private

Definition at line 56 of file strangsplitting.h.

Referenced by StrangSplit().

◆ tau_

double FisherKPP::StrangSplit::tau_
private

Definition at line 60 of file strangsplitting.h.

Referenced by diffusionEvolutionOperator(), Evolution(), and StrangSplit().


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