NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
Odesolver Class Reference

#include <odesolver.hpp>

Collaboration diagram for Odesolver:

Public Member Functions

 Odesolver ()
 
 Odesolver (mu::Parser *_parser, MemoryManager *_data, FunctionDefinitionManager *_functions, Settings *_option)
 
 ~Odesolver ()
 
void setObjects (mu::Parser *_parser, MemoryManager *_data, FunctionDefinitionManager *_functions, Settings *_option)
 
bool solve (const std::string &sCmd)
 

Static Public Attributes

static mu::Parser_odeParser = 0
 
static int nDimensions = 0
 
static mu::varmap_type mVars
 

Static Private Member Functions

static int odeFunction (double x, const double y[], double dydx[], void *params)
 
static int jacobian (double x, const double y[], double dydx[], double dfdt[], void *params)
 

Private Attributes

MemoryManager_odeData
 
FunctionDefinitionManager_odeFunctions
 
Settings_odeSettings
 
const gsl_odeiv_step_type * odeStepType
 
gsl_odeiv_step * odeStep
 
gsl_odeiv_control * odeControl
 
gsl_odeiv_evolve * odeEvolve
 

Detailed Description

Definition at line 37 of file odesolver.hpp.

Constructor & Destructor Documentation

◆ Odesolver() [1/2]

Odesolver::Odesolver ( )

◆ Odesolver() [2/2]

Odesolver::Odesolver ( mu::Parser _parser,
MemoryManager _data,
FunctionDefinitionManager _functions,
Settings _option 
)

Definition at line 45 of file odesolver.cpp.

References _odeData, _odeFunctions, _odeParser, and _odeSettings.

◆ ~Odesolver()

Odesolver::~Odesolver ( )

Definition at line 53 of file odesolver.cpp.

References _odeData, _odeFunctions, _odeParser, _odeSettings, odeControl, odeEvolve, and odeStep.

Member Function Documentation

◆ jacobian()

static int Odesolver::jacobian ( double  x,
const double  y[],
double  dydx[],
double  dfdt[],
void *  params 
)
inlinestaticprivate

Definition at line 49 of file odesolver.hpp.

Referenced by solve().

◆ odeFunction()

int Odesolver::odeFunction ( double  x,
const double  y[],
double  dydx[],
void *  params 
)
staticprivate

Definition at line 73 of file odesolver.cpp.

References _defVars, _odeParser, mu::ParserBase::Eval(), mVars, nDimensions, toString(), and DefaultVariables::vValue.

Referenced by solve().

Here is the call graph for this function:

◆ setObjects()

void Odesolver::setObjects ( mu::Parser _parser,
MemoryManager _data,
FunctionDefinitionManager _functions,
Settings _option 
)
inline

Definition at line 61 of file odesolver.hpp.

References _odeData, _odeFunctions, _odeParser, and _odeSettings.

◆ solve()

bool Odesolver::solve ( const std::string &  sCmd)

Definition at line 94 of file odesolver.cpp.

References _defVars, _lang, _odeData, _odeFunctions, _odeParser, _odeSettings, MemoryManager::addTable(), FunctionDefinitionManager::call(), Indices::col, MemoryManager::containsTablesOrClusters(), MemoryManager::deleteBulk(), mu::ParserBase::Eval(), findCommand(), findParameter(), VectorIndex::front(), SyntaxError::FUNCTION_ERROR, Language::get(), getArgAtPos(), NumeReKernel::GetAsyncCancelState(), getDataElements(), getIndices(), NumeReKernel::getInstance(), MemoryManager::getLines(), mu::ParserBase::GetVar(), intCast(), VectorIndex::INVALID, SyntaxError::invalid_position, mu::isinf(), mu::isnan(), VectorIndex::isOpenEnd(), MemoryManager::isTable(), isValidIndexSet(), jacobian(), mVars, nDimensions, SyntaxError::NO_EXPRESSION_FOR_ODE, SyntaxError::NO_INTERVAL_FOR_ODE, SyntaxError::NO_OPTIONS_FOR_ODE, odeControl, odeEvolve, odeFunction(), odeStep, odeStepType, NumeReKernel::printPreFmt(), SyntaxError::PROCESS_ABORTED_BY_USER, readAndParseIntervals(), mu::real(), Indices::row, mu::ParserBase::SetExpr(), MemoryManager::setHeadLineElement(), VectorIndex::setRange(), VectorIndex::size(), SyntaxError::STRINGS_MAY_NOT_BE_EVALUATED_WITH_CMD, StripSpaces(), Settings::systemPrints(), toString(), toSystemCodePage(), DefaultVariables::vValue, and MemoryManager::writeToTable().

Referenced by cmd_odesolve().

Here is the call graph for this function:

Member Data Documentation

◆ _odeData

MemoryManager* Odesolver::_odeData
private

Definition at line 40 of file odesolver.hpp.

Referenced by Odesolver(), setObjects(), solve(), and ~Odesolver().

◆ _odeFunctions

FunctionDefinitionManager* Odesolver::_odeFunctions
private

Definition at line 41 of file odesolver.hpp.

Referenced by Odesolver(), setObjects(), solve(), and ~Odesolver().

◆ _odeParser

mu::Parser * Odesolver::_odeParser = 0
static

Definition at line 53 of file odesolver.hpp.

Referenced by odeFunction(), Odesolver(), setObjects(), solve(), and ~Odesolver().

◆ _odeSettings

Settings* Odesolver::_odeSettings
private

Definition at line 42 of file odesolver.hpp.

Referenced by Odesolver(), setObjects(), solve(), and ~Odesolver().

◆ mVars

mu::varmap_type Odesolver::mVars
static

Definition at line 55 of file odesolver.hpp.

Referenced by odeFunction(), and solve().

◆ nDimensions

int Odesolver::nDimensions = 0
static

Definition at line 54 of file odesolver.hpp.

Referenced by odeFunction(), Odesolver(), and solve().

◆ odeControl

gsl_odeiv_control* Odesolver::odeControl
private

Definition at line 45 of file odesolver.hpp.

Referenced by Odesolver(), solve(), and ~Odesolver().

◆ odeEvolve

gsl_odeiv_evolve* Odesolver::odeEvolve
private

Definition at line 46 of file odesolver.hpp.

Referenced by Odesolver(), solve(), and ~Odesolver().

◆ odeStep

gsl_odeiv_step* Odesolver::odeStep
private

Definition at line 44 of file odesolver.hpp.

Referenced by Odesolver(), solve(), and ~Odesolver().

◆ odeStepType

const gsl_odeiv_step_type* Odesolver::odeStepType
private

Definition at line 43 of file odesolver.hpp.

Referenced by Odesolver(), and solve().


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