CppNoddy  0.92
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
CppNoddy::Example::FS_residual Class Reference

Define a residual function using the boundary conditions for the Blasius profile. More...

Inheritance diagram for CppNoddy::Example::FS_residual:
CppNoddy::Residual< double >

Public Member Functions

 FS_residual ()
 
 ~FS_residual ()
 
void residual_fn (const DenseVector< double > &z, DenseVector< double > &f) const
 implement a residual function. More...
 
- Public Member Functions inherited from CppNoddy::Residual< double >
 Residual (const unsigned &order)
 Constructor for a 'square' residual object that is, N residuals for N unknowns. More...
 
 Residual (const unsigned &order, const unsigned &nvars)
 Constructor for a 'non-square' residual object that is, there are less residual constraints than unknowns. More...
 
virtual ~Residual ()
 An empty destructor, virtual since we have virtual methods. More...
 
void update (const DenseVector< double > &state)
 Update the Residual object for the current set of state variables. More...
 
const DenseVector< double > & residual () const
 Return a handle to the residuals corresponding to the last update state. More...
 
const DenseMatrix< double > & jacobian () const
 Retrun a handle to the Jacobian of the residual corresponding to the last update state. More...
 
double & delta ()
 
const double & delta () const
 
unsigned get_order () const
 Get the order of the residual vector. More...
 
unsigned get_number_of_vars () const
 Get the number of variables that this residual condition is defined for. More...
 
virtual void residual_fn (const DenseVector< double > &state, DenseVector< double > &f) const
 A blank virtual residual function method. More...
 

Public Attributes

ODE_IVP< double > * ode
 
FS_eqneqn
 

Additional Inherited Members

- Protected Member Functions inherited from CppNoddy::Residual< double >
virtual void jacobian (const DenseVector< double > &state, DenseMatrix< double > &jac) const
 Because the residual evaluation at the current state is assumed to have already been done by the 'update' method, this routine is protected. More...
 
- Protected Attributes inherited from CppNoddy::Residual< double >
DenseMatrix< double > JAC_AT_LAST_STATE
 Jacobian for the last state vector. More...
 
DenseVector< double > FN_AT_LAST_STATE
 Residual for the last state vector. More...
 
DenseVector< double > LAST_STATE
 The last state vector. More...
 
double DELTA
 A default step for FD computation of the Jacobian. More...
 
unsigned ORDER_OF_SYSTEM
 The order of the system of equations. More...
 
unsigned NUMBER_OF_VARS
 The number of elements in the state vector. More...
 

Detailed Description

Define a residual function using the boundary conditions for the Blasius profile.

Definition at line 46 of file ArcShootFalknerSkan.cpp.

Constructor & Destructor Documentation

◆ FS_residual()

CppNoddy::Example::FS_residual::FS_residual ( )
inline

Definition at line 52 of file ArcShootFalknerSkan.cpp.

52 : Residual<double> ( 1 )
53 {
54 eqn = new FS_eqn;
55 eqn -> beta = 0.0; // init the Hartree parameter
56 ode = new ODE_IVP<double> ( eqn, 0.0, 20.0, 2000 );
57 }
A templated object for real/complex vector system of first-order ordinary differential equations.
Definition: ODE_IVP.h:20
A base class to be inherited by objects that define residuals.
Definition: Residual.h:15

References eqn, and ode.

◆ ~FS_residual()

CppNoddy::Example::FS_residual::~FS_residual ( )
inline

Definition at line 59 of file ArcShootFalknerSkan.cpp.

60 {
61 delete ode;
62 delete eqn;
63 }

References eqn, and ode.

Member Function Documentation

◆ residual_fn()

void CppNoddy::Example::FS_residual::residual_fn ( const DenseVector< double > &  z,
DenseVector< double > &  f 
) const
inlinevirtual

implement a residual function.

Reimplemented from CppNoddy::Residual< double >.

Definition at line 66 of file ArcShootFalknerSkan.cpp.

67 {
68 DenseVector<double> u( 3, 0.0 ); // 3 variables of FS problem
69 u[ 0 ] = 0.0; // f = 0
70 u[ 1 ] = 0.0; // f' = 0
71 u[ 2 ] = z[ 0 ]; // f'' = unknown
72 // shoot the ODE
73 u = ode -> shoot4( u );
74 // return the residual of f'(infty) = 1 condition
75 f[ 0 ] = u[ 1 ] - 1.;
76 }
@ f
Definition: BVPBerman.cpp:15
An DenseVector class – a dense vector object.
Definition: DenseVector.h:34

References f, ode, u, and CppNoddy::Example::z().

Member Data Documentation

◆ eqn

FS_eqn* CppNoddy::Example::FS_residual::eqn

Definition at line 50 of file ArcShootFalknerSkan.cpp.

Referenced by FS_residual(), main(), and ~FS_residual().

◆ ode

ODE_IVP<double>* CppNoddy::Example::FS_residual::ode

Definition at line 49 of file ArcShootFalknerSkan.cpp.

Referenced by FS_residual(), residual_fn(), and ~FS_residual().


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

© 2012

R.E. Hewitt