Marko Petek's Thesis application 1.0
The Marko Petek's code for numerical analysis of nonlinear damped and driven oscillation.

IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase Class Reference

Šablona specifičnega solverja. Specifični solver je nadgradnja (specializacija) splošnega solverja. Splošni solver vsebuje samo metodo reševanja DE brez vezave na specifično DE,medtem ko specifični solver vsebuje tudi DE samo. More...

Inheritance diagram for IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase:
Collaboration diagram for IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase:

List of all members.

Public Member Functions

abstract double DE (double[] arg)
 DE, ki jo definira vsak specifični solver zase.
void SolveNumerically ()
 Reši DE tako, da kliče metodo Solve() na splošnem solverju.
void CalculateErrors ()
 Izračuna napake tako, da primerja rešitev pri trenutni dolžini koraka z rešitvijo pri pol manjši dolžini koraka.
void PostProcessErrors (int forceTakeValue)
 Najprej izračuna absolutne vrednosti napak. Potem poskuša zgladiti krivuljo (uporabno če ta oscilira).

Parameters:
pointsPerDomainČe bi bila funkcija monotona, bi se izbralo toliko točk v enakomernih razmikih.

void VerifyErrorsValidity (int nPoints)
 Vezava z isto metodo na solverju. Imena spremenljvik zdaj niso več vezana na solver.

Protected Attributes

string _name
 Ime specifičnega solverja, na primer "Vsiljeno nihanje".
List< string > _defaultVariableNames
 Sem se po kostrukciji dediča vpišejo default vrednosti spremenljivk.
List< string > _variableNames
 Seznam imen spremenljivk za risanje grafa.
DEInitialProblemSolver _solver
 Splošni solver - ta vsebuje samo metodo reševanja.
double[] _initialConditions
 Začetni pogoji. Podati moramo ustrezno število. Npr. DE II. reda: {x, f(x), f'(x), f''(x)}. Za najvišji odvod podamo karkoli, saj se tako ali tako avtomatsko izračuna iz DE.
List< double[]> _solutionMain
 Tabela iz katere se vzamejo vrednosti za risanje grafa. Tabela mora biti dostopna na specifičnem solverju zaradi zahteve na vmesniku. Na vmesniku pa morabiti prisotna zato, ker se bo na vmesnik skliceval razred GeneralPlotter, ki riše grafe.

Properties

string Name [get, set]
 Ime specifičnega solverja, na primer "Vsiljeno nihanje".
List< string > DefaultVariableNames [get, set]
 Sem se po kostrukciji dediča vpišejo default vrednosti spremenljivk.
List< string > VariableNames [get, set]
 Imena spremenljivk DE.
DEInitialProblemSolver Solver [get, set]
 Splošni solver - ta vsebuje samo metodo reševanja.
double[] InitialConditions [get, set]
 Začetni pogoji. Podati moramo ustrezno število. Npr. DE II. reda: {x, f(x), f'(x), f''(x)}. Za najvišji odvod podamo karkoli, saj se tako ali tako avtomatsko izračuna iz DE.
List< double[]> Solution [get]
 Tabela iz katere se vzamejo vrednosti za risanje grafa. Tabela mora biti dostopna na specifičnem solverju zaradi zahteve na vmesniku. Na vmesniku pa morabiti prisotna zato, ker se bo na vmesnik skliceval razred GeneralPlotter, ki riše grafe.

Detailed Description

Šablona specifičnega solverja. Specifični solver je nadgradnja (specializacija) splošnega solverja.

Splošni solver vsebuje samo metodo reševanja DE brez vezave na specifično DE,

medtem ko specifični solver vsebuje tudi DE samo.


Member Function Documentation

void IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::SolveNumerically ( ) [inline]

Reši DE tako, da kliče metodo Solve() na splošnem solverju.

void IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::CalculateErrors ( ) [inline]

Izračuna napake tako, da primerja rešitev pri trenutni dolžini koraka z rešitvijo pri pol manjši dolžini koraka.

void IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::PostProcessErrors ( int  forceTakeValue) [inline]

Najprej izračuna absolutne vrednosti napak. Potem poskuša zgladiti krivuljo (uporabno če ta oscilira).

Parameters:
pointsPerDomainČe bi bila funkcija monotona, bi se izbralo toliko točk v enakomernih razmikih.

void IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::VerifyErrorsValidity ( int  nPoints) [inline]

Vezava z isto metodo na solverju. Imena spremenljvik zdaj niso več vezana na solver.


Member Data Documentation

Ime specifičnega solverja, na primer "Vsiljeno nihanje".

Sem se po kostrukciji dediča vpišejo default vrednosti spremenljivk.

Seznam imen spremenljivk za risanje grafa.

Splošni solver - ta vsebuje samo metodo reševanja.

Začetni pogoji. Podati moramo ustrezno število. Npr. DE II. reda: {x, f(x), f'(x), f''(x)}. Za najvišji odvod podamo karkoli, saj se tako ali tako avtomatsko izračuna iz DE.

Tabela iz katere se vzamejo vrednosti za risanje grafa. Tabela mora biti dostopna na specifičnem solverju zaradi zahteve na vmesniku. Na vmesniku pa morabiti prisotna zato, ker se bo na vmesnik skliceval razred GeneralPlotter, ki riše grafe.


Property Documentation

string IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::Name [get, set]

Ime specifičnega solverja, na primer "Vsiljeno nihanje".

Implements IG::MPetekLib::Algorithms::Plotter::IPlottable.

List<string> IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::DefaultVariableNames [get, set]

Sem se po kostrukciji dediča vpišejo default vrednosti spremenljivk.

List<string> IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::VariableNames [get, set]

Imena spremenljivk DE.

Implements IG::MPetekLib::Algorithms::Plotter::IPlottable.

DEInitialProblemSolver IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::Solver [get, set]

Splošni solver - ta vsebuje samo metodo reševanja.

double [] IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::InitialConditions [get, set]

Začetni pogoji. Podati moramo ustrezno število. Npr. DE II. reda: {x, f(x), f'(x), f''(x)}. Za najvišji odvod podamo karkoli, saj se tako ali tako avtomatsko izračuna iz DE.

List<double[]> IG::MPetekLib::Algorithms::SpecificSolver::SpecificDESolverBase::Solution [get]

Tabela iz katere se vzamejo vrednosti za risanje grafa. Tabela mora biti dostopna na specifičnem solverju zaradi zahteve na vmesniku. Na vmesniku pa morabiti prisotna zato, ker se bo na vmesnik skliceval razred GeneralPlotter, ki riše grafe.

Implements IG::MPetekLib::Algorithms::Plotter::IPlottable.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties