CppNoddy
0.85

Files  
file  Arc_circle.cpp 
A simple arclength continuation solving the equation
where is a parameter.  
file  Arc_circle_vector.cpp 
A simple arclength continuation solving the vector equation
where is a parameter.  
file  Arc_Shoot_FalknerSkan.cpp 
Arclength continue the FalknerSkan equation
for varying values of the Hartree parameter – around the well known limit point.  
file  Arc_Trans_Fold.cpp 
Solve the nonlinear scalar residual problem
by arclength continuation from the starting solution .  
file  BVP_Berman.cpp 
Solving the Berman suctionchannel solution in the form
subject to and by applying the ODE_BVP class.  
file  BVP_Blasius.cpp 
Solving the Blasius equation
with and in the domain by applying the ODE_BVP class.  
file  BVP_Harmonic.cpp 
Solving the Harmonic equation
subject to and (OR ) by applying the ODE_BVP class.  
file  BVP_JH_arc_NV.cpp 
Arc length conitinuation of the equation for selfsimilar flow between two planar angled walls; the JefferyHamel flow.  
file  BVP_Karman.cpp 
Solving the Karman rotatingdisk equations for the flow above an infinite rotating disk:
with boundary conditions , and , .  
file  BVP_Karman_adapt.cpp 
Adaptively solve the Karman rotatingdisk equations for the flow above an infinite rotating disk:
with boundary conditions , and , .  
file  BVP_Karman_arc.cpp 
Arclength continuation of the Karman rotatingdisk equations for the flow above an infinite rotating disk:
with boundary conditions , and , .  
file  BVP_Karman_Jacobian.cpp 
Solving the Karman rotatingdisk equations for the flow above an infinite rotating disk by applying a userprovided Jacobian
with boundary conditions , and , .  
file  Shoot_Berman.cpp 
Solving the fourthorder Berman (porous channel) similarity equation
where and is a pressure constant and is the Reynolds number based on the channel halfheight and the wall suction.  
file  Shoot_Blasius.cpp 
Solving the Blasius equation
with and via RungeKutta and (scalar) Newton iteration.  
file  Matrix_CompareNative.cpp 
A quick check that the overhead associated with the matrix container class is less than 5% compared to a native array.  
file  MatrixMult.cpp 
Do some matrix multiplications and compare the native N^3 multiply with the BLAS implementation.  
file  MatrixSolves.cpp 
Example of the simple linear solvers implemented for dense, banded and sparse matrix objects.  
file  Vec_DenseVector.cpp 
Some simple sanity checks for the NVector class with both double and complex types.  
file  Vec_Overloading.cpp 
Just a quick and simple check that NVector operator overloading is functioning.  
file  Vec_SparseVector.cpp 
A superficial sanity check of one_norm and vector arithmetic for the sparse vector class.  
file  IBVP_linear.cpp 
Solving the linear equation
subject to and .  
file  IBVP_nonlinear_fast.cpp 
Solving the nonlinear problem
subject to , and , .  
file  IBVP_nonlinear_slow.cpp 
Solving the nonlinear problem
subject to , and , .  
file  EVP_complex.cpp 
Solves a 4x4 complex generalised eigenvalue problem
for the 4 eigenvalues , .  
file  EVP_Harmonic.cpp 
Solves the harmonic equation
as an eigenvalue problem for over the unit domain with homogeneous boundary conditions for , returning any eigenvalue(s) with absolute value less than 10.  
file  EVP_Harmonic_easy.cpp 
Solves the harmonic equation
as an eigenvalue problem for over the unit domain with homogeneous boundary conditions for , returning the smallest eigenvalue.  
file  EVP_local_Harmonic.cpp 
Solves the harmonic equation
as a LOCAL eigenvalue problem for over the unit domain with homogeneous boundary conditions for but using the nonlinear BVP solver to refine a guess at an eigenvalue.  
file  EVP_OrrSommerfeld.cpp 
Solves the following linear eigenvalue problem for values that satisfy :
subject to where , and .  
file  EVP_OrrSommerfeld_easy.cpp 
Solves the following linear eigenvalue problem for values that satisfy :
subject to where , and .  
file  EVP_OrrSommerfeld_neutralcurve.cpp 
Solves the following linear eigenvalue problem for values that satisfy :
subject to determining the values of and that lead to .  
file  EVP_Shoot_Biharmonic.cpp 
Solving a onedimensional "Biharmonic" eigenvalue problem (EVP)
via RungeKutta and (vector) Newton iteration.  
file  ExceptionChecks.cpp 
We do some obviously dumb things to induce a handful of common failures.  
file  NewtonIter.cpp 
A vector Newton iteration to find a root of
by splitting it into a vector equation (real & imaginary parts).  
file  Quad.cpp 
Compute the integral
with varying schemes, then compare the result to the exact value
.  
file  TrivialComplex.cpp 
A pointless repeated computation test for timing the std::complex class.  
file  HYP_acoustic_impedance.cpp 
Solve the constant coefficient linear sound wave problem
for a rightpropagating square pressure pulse in a medium with constant bulk modulus and density if and elsewhere.  
file  HYP_acoustic_reflection.cpp 
Solve the constant coefficient linear sound wave problem
for a rightpropagating square pulse in a medium with constant bulk modulus and density and reflecting boundary conditions at both sides.  
file  HYP_nonlinear_advection.cpp 
Solving the 1D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for .  
file  HYP_radial_dam_break.cpp 
Solve the shallow water equations in one dimension for an initial column of fluid
The result is compared to the same problem solved using Clawpack, evaluated at the single point x=0.5.  
file  HYP_shallow_source_NV.cpp 
Solve the shallow water equations in one dimension
where the momentum is fixed upstream, and the flow depth is fixed downstream and is the topography shape.  
file  HYP_shallow_water_NV.cpp 
Solve the shallow water equations in one dimension for an initial (small) hump of fluid
where and the boundaries are reflecting.  
file  HYP_shocktube_Lax_NV.cpp 
Solving the 1D Euler problem for gas dynamics
where
and .  
file  HYP_shocktube_Sod.cpp 
Solving the 1D Euler problem for gas dynamics
where
and .  
file  HYP_2D_acoustic_NV.cpp 
A linear acoustic pulse propagating towards a cylindrical region of higher (four times) bulk modulus.  
file  HYP_2D_Euler_NV.cpp 
Solving the Euler equations for a compressible gas with Sodlike initial conditions in a rectangular box , with nomomentum flux through the walls.  
file  HYP_2D_linear_advection_xy.cpp 
Solving the 2D advection equation
using a TVD LaxFriedrichs scheme for .  
file  HYP_2D_nonlinear_advection_x.cpp 
Solving the 1D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for .  
file  HYP_2D_nonlinear_advection_xy.cpp 
Solving the 2D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for .  
file  HYP_2D_nonlinear_advection_y.cpp 
Solving the 1D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for .  
file  HYP_2D_radial_dam_break.cpp 
A radial dambreak problem for the 2D shallow water equations.  
file  HYP_2D_RayTay_NV.cpp 
Solving the Euler equations for a compressible gas including a buoyancy force in a rectangular box , with nomomentum flux through the walls.  
file  HYP_2D_shallow_source.cpp 
Two dimensional shallow water equations over topography.  
file  IBVP_diffusion.cpp 
Solving the heat diffusion equation
subject to and with initial condition .  
file  IBVP_diffusion_nonlinear.cpp 
Solving the unstead diffusion problem:
with boundary conditions ; where .  
file  IBVP_Karman.cpp 
Solving the unsteady Karman rotatingdisk equations for the flow above an infinite rotating disk in a rotating fluid:
with boundary conditions , and , .  
file  IBVP_nonlinear_advdiff.cpp 
Solving the nonlinear advection diffusion equation
subject to and with initial condition and a source term
for some constant parameters and .  
file  IVP_Harmonic.cpp 
Integrate the harmonic equation
with from to as an IVP, using an adaptive RungeKuttaFehlberg routine.  
file  IVP_Lorenz.cpp 
Integrate the Lorenz equations
forward in time using an adaptive RungeKuttaFehlberg routine.  
file  1DNodeMesh.cpp 
A simple check of the OneD_Node_Mesh container that stores nodal data over a given mesh.  
file  1DNodeMesh_Airy.cpp 
Solves the Airy equation
on the negative real axis over the range [10,0] then pushes the data into a OneD_GenMesh object and integrates the result.  
file  2DNodeMesh.cpp 
A simple check of the TwoD_Node_Mesh container that stores nodal data over a given mesh.  
file  Poisson_C.cpp 
Solving a Cartesian Poisson problem:
with
where .  
file  Poisson_m.cpp 
Solving a Poisson problem in the meridional plane of a cylinder:
with
where .  
file  Poisson_Stokes.cpp 
Solving a Poissonlike problem in the meridional plane of a cylinder for the Stokes streamfunction
with
where and
The global problem is solved (in one step) and result is compared to the exact solution
. 
© 2012
R.E. Hewitt