sokobo
Loading...
Searching...
No Matches
DifferentialEquations Class Reference

Static Public Member Functions

static std::vector< double > eulerMethod (std::function< double(double, double)> f, double x0, double y0, double h, int steps)
 
static std::vector< double > rungeKutta4 (std::function< double(double, double)> f, double x0, double y0, double h, int steps)
 
static std::vector< double > adamsBashforth (std::function< double(double, double)> f, double x0, double y0, double h, int steps)
 
static std::vector< std::vector< double > > systemRungeKutta4 (std::vector< std::function< double(double, const std::vector< double > &)> > f, double x0, const std::vector< double > &y0, double h, int steps)
 
static std::vector< double > shootingMethod (std::function< double(double, double, double)> f, double a, double b, double alpha, double beta, int n=100)
 
static std::vector< std::vector< double > > heatEquation1D (double alpha, double L, double T, int nx, int nt, std::function< double(double)> initialCondition, std::function< double(double)> boundaryLeft, std::function< double(double)> boundaryRight)
 
static std::vector< std::vector< double > > waveEquation1D (double c, double L, double T, int nx, int nt, std::function< double(double)> initialPosition, std::function< double(double)> initialVelocity)
 
static std::vector< std::vector< double > > laplaceEquation2D (int nx, int ny, double tolerance=1e-6, std::function< double(double, double)> boundaryCondition=nullptr)
 
static std::shared_ptr< ExpressionsolveLinearODE (const std::vector< double > &coeffs, std::shared_ptr< Expression > rhs)
 
static std::shared_ptr< ExpressionsolveSeparableODE (std::shared_ptr< Expression > expr)
 

Detailed Description

Definition at line 6 of file differential_equations.h.

Member Function Documentation

◆ adamsBashforth()

std::vector< double > DifferentialEquations::adamsBashforth ( std::function< double(double, double)>  f,
double  x0,
double  y0,
double  h,
int  steps 
)
static

Definition at line 58 of file differential_equations.cpp.

◆ eulerMethod()

std::vector< double > DifferentialEquations::eulerMethod ( std::function< double(double, double)>  f,
double  x0,
double  y0,
double  h,
int  steps 
)
static

Definition at line 11 of file differential_equations.cpp.

◆ heatEquation1D()

std::vector< std::vector< double > > DifferentialEquations::heatEquation1D ( double  alpha,
double  L,
double  T,
int  nx,
int  nt,
std::function< double(double)>  initialCondition,
std::function< double(double)>  boundaryLeft,
std::function< double(double)>  boundaryRight 
)
static

Definition at line 220 of file differential_equations.cpp.

◆ laplaceEquation2D()

std::vector< std::vector< double > > DifferentialEquations::laplaceEquation2D ( int  nx,
int  ny,
double  tolerance = 1e-6,
std::function< double(double, double)>  boundaryCondition = nullptr 
)
static

Definition at line 312 of file differential_equations.cpp.

◆ rungeKutta4()

std::vector< double > DifferentialEquations::rungeKutta4 ( std::function< double(double, double)>  f,
double  x0,
double  y0,
double  h,
int  steps 
)
static

Definition at line 32 of file differential_equations.cpp.

◆ shootingMethod()

std::vector< double > DifferentialEquations::shootingMethod ( std::function< double(double, double, double)>  f,
double  a,
double  b,
double  alpha,
double  beta,
int  n = 100 
)
static

Definition at line 166 of file differential_equations.cpp.

◆ solveLinearODE()

std::shared_ptr< Expression > DifferentialEquations::solveLinearODE ( const std::vector< double > &  coeffs,
std::shared_ptr< Expression rhs 
)
static

Definition at line 364 of file differential_equations.cpp.

◆ solveSeparableODE()

std::shared_ptr< Expression > DifferentialEquations::solveSeparableODE ( std::shared_ptr< Expression expr)
static

Definition at line 372 of file differential_equations.cpp.

◆ systemRungeKutta4()

std::vector< std::vector< double > > DifferentialEquations::systemRungeKutta4 ( std::vector< std::function< double(double, const std::vector< double > &)>  ,
,
double  x0,
const std::vector< double > &  y0,
double  h,
int  steps 
)
static

Definition at line 102 of file differential_equations.cpp.

◆ waveEquation1D()

std::vector< std::vector< double > > DifferentialEquations::waveEquation1D ( double  c,
double  L,
double  T,
int  nx,
int  nt,
std::function< double(double)>  initialPosition,
std::function< double(double)>  initialVelocity 
)
static

Definition at line 263 of file differential_equations.cpp.


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