CppNoddy
0.92

► include  
ArcLength_base.h  A base class for arclengthcapable solvers 
BandedLinearSystem.h  Specification of the linear system class 
BandedMatrix.h  A matrix class that constructs a BANDED matrix 
BVP_bundle.h  A shorter bundled include file for ODE_BVP and PDE_IBVP codes 
cfortran.h  Http://wwwzeus.desy.de/~burow/cfortran/ by Burkhard Burow burow.nosp@m.@des.nosp@m.y.de 
CppNoddy.h  
DenseLinearEigenSystem.h  Specification of the dense linear eigensystem class 
DenseLinearSystem.h  Specification of the linear system class 
DenseMatrix.h  A matrix class that constructs a DENSE matrix as an STL Vector of DenseVectors, inheriting from Matrix_base 
DenseVector.h  Specification for a templated DenseVector class – a dense, dynamic, vector object 
Equation.h  A templated class for equations that can be inherited from to allow instantiation of ODE/PDE objects using the resulting class 
Equation_1matrix.h  A templated class for equations that can be inherited from to allow instantiation of PDE_IBVP objects (amongst others) 
Equation_2matrix.h  A templated class for equations that can be inherited from to allow instantiation of PDE_double_IBVP objects (amongst others) 
Equation_3matrix.h  A templated class for equations that can be inherited from to allow instantiation of PDE_double_IBVP objects (amongst others) 
EVP_bundle.h  A shorter bundled include file for ODE_EVP and general eigenvalue problems 
Exceptions.h  The collection of CppNoddy exceptions 
FnQuadrature.h  A specification for quadrature classes 
FortranBLAS.h  Some interface definitions for calling external fortran routines from BLAS 
FortranData.h  
FortranLAPACK.h  Some interface definitions for calling external fortran routines in LAPACK 
Functors.h  Some Function Objects that CppNoddy makes use of in algorithms applied to STL containers 
Generic_bundle.h  A shorter bundled include file for ODE_BVP and PDE_IBVP codes 
HST.h  Some classes useful for hydrodynamic stability theory problems 
IBVP_bundle.h  A shorter bundled include file for initial boundary value problems 
IBVP_double_bundle.h  A shorter bundled include file for double initial boundary value problems 
IVP_bundle.h  A shorter bundled include file for initialvalue problems 
LinearEigenSystem_base.h  Specification of the linear eigensystem base class 
LinearSystem_base.h  Specification of the linear system class 
Matrix_base.h  A base matrix class to ensure a consistent interface between the inheriting dense/banded matrix classes 
Newton.h  A vector NEWTON iteration class 
Newton_bundle.h  A shorter bundled include file for Newton iteration problems 
ODE_BVP.h  A specification of a class for an order ODE BVP defined by
subject to Dirichlet conditions defined at or for some components of 
ODE_EVP.h  A specification of a class for an order ODE LINEAR EVP defined by
subject to zero Dirichlet conditions defined at or for some components of 
ODE_IVP.h  A specification for a class to solve initial value problems of the form
where is known 
OneD_HYP_bundle.h  A shorter bundled include file for hyperbolic problems 
OneD_Hyperbolic_System.h  
OneD_Node_Mesh.h  A specification for a one dimensional mesh object 
OneD_TVDLF_Elt.h  Specification of a one dimensional linear element for use in a TVD LaxFriedrichs scheme 
OneD_TVDLF_Mesh.h  Specification of an object that represents a one dimensional mesh for TVD LX methods 
PDE_double_IBVP.h  A specification of a class for an order IBVP of the form
subject to conditions defined at and for some components of 
PDE_IBVP.h  A specification of a class for an order IBVP of the form
subject to conditions defined at and for some components of 
Poisson_base.h  Specification of a Poisson base class .. 
Poisson_Cartesian.h  Specification of a Poisson problem in a 2D Cartesian coordinate system with Dirichlet boundary conditions – you really don't want to use this unless you link to LAPACK 
Poisson_meridional.h  Specification of a Poisson problem in the meridional plane of a cylindrical polar coordinate system with Dirichlet boundary conditions – you really don't want to use this unless you link to LAPACK 
Residual.h  A specification of a (double/complex) VECTOR residual class 
Residual_with_coords.h  A specification of a (double/complex) residual class that not only defines a vector residual of a vector of state variables but may also depend upon N additional (double) variables 
reversed_BL.h  An implementation of the zigzag modification for unsteady parabolic marching with reverse flow 
SparseLinearEigenSystem.h  Specification of the sparse linear eigensystem class 
SparseLinearSystem.h  Specification of a sparsestorage linear system class 
SparseMatrix.h  A matrix class that constructs a SPARSE matrix as an STL Vector of SparseVectors, inheriting from Matrix_base 
SparseVector.h  A templated SparseVector class – a sparse, variable size, vector object 
Timer.h  A spec for the CppNoddy Timer object 
TrackerFile.h  A class that can be passed pointers to scalar/vector/mesh objects, then their contents are written to a file each time that the update method is called 
TwoD_HYP_bundle.h  A shorter bundled include file for hyperbolic problems 
TwoD_Hyperbolic_System.h  
TwoD_Mapped_Node_Mesh.h  A specification for a two dimensional mapped mesh object 
TwoD_MappedNode_Mesh.h  A specification for a two dimensional mesh object on a mapped mesh 
TwoD_Node_Mesh.h  A specification for a two dimensional mesh object 
TwoD_TVDLF_Elt.h  Specification of a two dimensional linear element for use in a TVD LaxFriedrichs scheme 
TwoD_TVDLF_Mesh.h  Specification of an object that represents a two dimensional mesh for TVD LF methods 
Types.h  Some standard typedefs 
Uncopyable.h  
Utility.h  A spec for a collection of utility functions 
► src  
ArcLength_base.cpp  An implementation of the arclength class 
BandedLinearSystem.cpp  Implementation for the LinearSystem class 
BandedMatrix.cpp  Implementation of the matrix class that constructs a BANDED matrix as an NVector of NVectors 
DenseLinearEigenSystem.cpp  Implementation for the DenseLinearEigenSystem class This class links to LAPACK to perform the solver phase 
DenseLinearSystem.cpp  Implementation for the LinearSystem class 
DenseMatrix.cpp  Implementation of a DENSE matrix as an Vector of NVectors, inheriting from Matrix_base 
DenseVector.cpp  Implementation of the DenseVector class – a dense, variable size, vector object 
Equation.cpp  Implementation for an equations class that can be inherited from to allow instantiation of ODE objects using the resulting class 
Equation_1matrix.cpp  Implementation for an equations class that can be inherited from to allow instantiation of ODE objects using the resulting class 
Equation_2matrix.cpp  Implementation for an equations class that can be inherited from to allow instantiation of ODE objects using the resulting class 
Equation_3matrix.cpp  Implementation for an equations class that can be inherited from to allow instantiation of ODE objects using the resulting class 
FnQuadrature.cpp  Implementation of the real quadrature class 
LinearEigenSystem_base.cpp  Implementation for the LinearEigenSystem_base class 
LinearSystem_base.cpp  Implementation for the LinearSystem class 
Newton.cpp  Implementation of the vector NEWTON iteration class 
ODE_BVP.cpp  An implementation of a class for an order ODE BVP defined by
subject to Dirichlet conditions defined at or for some components of 
ODE_EVP.cpp  A specification of a class for an order ODE LINEAR EVP defined by
subject to zero Dirichlet conditions defined at or for some components of 
ODE_IVP.cpp  Implementation of an th order system of ODEs that form the IVP:
where is known 
OneD_Node_Mesh.cpp  Implementation of the one dimensional uniformly distributed mesh object 
OneD_TVDLF_Elt.cpp  Implementation of a one dimensional linear element for use in a TVD LaxFriedrichs scheme 
OneD_TVDLF_Mesh.cpp  Implementation of an object that represents a one dimensional mesh for TVD LF methods 
PDE_double_IBVP.cpp  
PDE_IBVP.cpp  Implementation of a class for an order IBVP of the form
subject to conditions defined at and for some components of 
Poisson_Cartesian.cpp  Implementation of the Poisson Cartesian class 
Poisson_meridional.cpp  Implementation of a Poisson problem in the meridional plane of a cylindrical polar coordinate system 
Residual.cpp  Implementation of the (double/complex) VECTOR residual class 
Residual_with_coords.cpp  A specification of a (double/complex) residual class that not only defines a vector residual of a vector of state variables but may also depend upon N additional (double) variables 
reversed_BL.cpp  
SparseLinearEigenSystem.cpp  Implementation for the SparseLinearEigenSystem class This class links to SLEPc to perform the solver phase 
SparseLinearSystem.cpp  Implementation for the LinearSystem class 
SparseMatrix.cpp  Implementation of a SPARSE matrix as an STL Vector of SparseVectors, inheriting from Matrix_base 
SparseVector.cpp  
Timer.cpp  Implementation of the CppNoddy Timer object 
TrackerFile.cpp  Implementation details for the TrackerFile object 
TwoD_Mapped_Node_Mesh.cpp  Implementation of a two dimensional (mapped) mesh object 
TwoD_Node_Mesh.cpp  Implementation of a two dimensional mesh object 
TwoD_TVDLF_Elt.cpp  Implementation of an object that represents a two dimensional element for TVD LF methods 
TwoD_TVDLF_Mesh.cpp  Implementation of an object that represents a two dimensional mesh for TVD LF methods 
Utility.cpp  An implementation for a collection of utility functions 
► Tests  
► Arclength  
ArcCircle.cpp  A simple arclength continuation solving the equation
where is a parameter 
ArcCircleVector.cpp  A simple arclength continuation solving the vector equation
where is a parameter 
ArcShootFalknerSkan.cpp  Arclength continue the FalknerSkan equation
for varying values of the Hartree parameter – around the well known limit point 
ArcTranscritFold.cpp  Solve the nonlinear scalar residual problem
by arclength continuation from the starting solution 
► BVP  
BermanShooting.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 
BlasiusShooting.cpp  Solving the Blasius equation
with and via RungeKutta and (scalar) Newton iteration 
BVPBerman.cpp  
BVPBlasius.cpp  Solving the Blasius equation
with and in the domain by applying the ODE_BVP class 
BVPHarmonic.cpp  
BVPKarman.cpp  
BVPKarmanAdaptive.cpp  Adaptively solve the Karman rotatingdisk equations for the flow above an infinite rotating disk:
with boundary conditions , and , 
BVPKarmanArclength.cpp  Arclength continuation of the Karman rotatingdisk equations for the flow above an infinite rotating disk:
with boundary conditions , and , 
BVPKarmanJacobian.cpp  Solving the Karman rotatingdisk equations for the flow above an infinite rotating disk by applying a userprovided Jacobian
with boundary conditions , and , 
BVPNonIdentityMatrix0.cpp  Solving the equation
subject to and 
BVPTroesch.cpp  
► double_IBVP  
IBVPLinear.cpp  Solving the linear equation
subject to and 
IBVPNonlinearFast.cpp  Solving the nonlinear problem
subject to , and , 
IBVPNonlinearSlower.cpp  Solving the nonlinear problem
subject to , and , 
► EVP  
EVP2DOrrSommerfeld_slepcz.cpp  Solves the linear eigenvalue problem for values formulated in the paper of Tatsumi and Yoshimura (J Fluid Mechanics, 1990) 
EVPComplex_lapack.cpp  Solves a 4x4 complex generalised eigenvalue problem
for the 4 eigenvalues , 
EVPHarmonic_lapack.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 
EVPHarmonicEasy_lapack.cpp  Solves the harmonic equation
as an eigenvalue problem for over the unit domain with homogeneous boundary conditions for , returning the smallest eigenvalue 
EVPHarmonicLocal.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 
EVPHarmonicSparse_slepcd.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 
EVPOrrSommerfeld_lapack.cpp  Solves the following linear eigenvalue problem for values that satisfy :
subject to where , and 
EVPOrrSommerfeldEasy_lapack.cpp  Solves the following linear eigenvalue problem for values that satisfy :
subject to where , and 
EVPOrrSommerfeldNeutralCurve.cpp  Solves the following linear eigenvalue problem for values that satisfy :
subject to determining the values of and that lead to 
EVPOrrSommerfeldSparse_slepcz.cpp  Solves the following linear eigenvalue problem for values that satisfy :
subject to where , and 
EVPRayleigh_lapack.cpp  Solves the Rayleigh problem for values that satisfy :
subject to ; it determines the critical wavenumber such that for 
EVPShootBiharmonic.cpp  Solving a onedimensional "Biharmonic" eigenvalue problem (EVP)
via RungeKutta and (vector) Newton iteration 
EVPSparse_slepcd.cpp  Solves a 2x2 generalised eigenvalue problem
for the 2 eigenvalues , 
EVPSparse_slepcz.cpp  Solves a 4x4 complex generalised eigenvalue problem
for the 4 eigenvalues , 
► Generic  
ExceptionChecks.cpp  We do some obviously dumb things to induce a handful of common failures 
NewtonIter.cpp  
Quadrature.cpp  Compute the integral
with varying schemes, then compare the result to the exact value

TrivialComplex.cpp  A sanity test for std::complex class 
► HYP_1D  
HYPAcousticImpedance.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 
HYPAcousticReflection.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 
HYPNonlinearAdvection.cpp  Solving the 1D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for 
HYPRadialDamBreak.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 
HYPSodsShocktube.cpp  Solving the 1D Euler problem for gas dynamics
where
and 
► HYP_2D  
HYP2DLinearAdvectionXY.cpp  Solving the 2D advection equation
using a TVD LaxFriedrichs scheme for 
HYP2DNonlinearAdvectionX.cpp  Solving the 1D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for 
HYP2DNonlinearAdvectionXY.cpp  Solving the 2D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for 
HYP2DNonlinearAdvectionY.cpp  Solving the 1D `nonlinear advection equation'
using a TVD LaxFriedrichs scheme for 
HYP2DRadialDamBreak.cpp  
HYP2DShallowSource.cpp  Two dimensional shallow water equations over topography 
► IBVP  
IBVPDiffusion.cpp  Solving the heat diffusion equation
subject to and with initial condition 
IBVPDiffusionNonlinear.cpp  Solving the unstead diffusion problem:
with boundary conditions ; where 
IBVPKarman.cpp  Solving the unsteady Karman rotatingdisk equations for the flow above an infinite rotating disk in a rotating fluid:
with boundary conditions , and , 
IBVPNonlinearAdvDiffusion.cpp  Solving the nonlinear advection diffusion equation
subject to and with initial condition and a source term
for some constant parameters and 
► IVP  
IVPHarmonic.cpp  Integrate the harmonic equation
with from to as an IVP, using an adaptive RungeKuttaFehlberg routine 
IVPLorenz.cpp  Integrate the Lorenz equations
forward in time using an adaptive RungeKuttaFehlberg routine 
► Matrix  
MatrixAccess.cpp  A quick check that the overhead associated with the matrix container class is less than 5% compared to a native array 
MatrixBandedSolves.cpp  Example of a simple "banded" inear solver using matrix problem is solved 
MatrixBandedSolves_lapack.cpp  
MatrixMultiply_lapack.cpp  
MatrixSolves.cpp  Example of the simple linear solvers using a simple matrix problem 
MatrixSolves_lapack.cpp  Example of the simple linear solvers implemented for dense, banded and sparse matrix objects 
MatrixSparseSolve_petscd.cpp  
MatrixSparseSolve_petscz.cpp  
► Meshes  
1DNodeMesh.cpp  A simple check of the OneD_Node_Mesh container that stores nodal data over a given mesh 
1DNodeMesh_Airy.cpp  
2DNodeMesh.cpp  A simple check of the TwoD_Node_Mesh container that stores nodal data over a given mesh 
► Poisson  
PoissonCartesian.cpp  Solving a Cartesian Poisson problem:
with
where 
PoissonStokes.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

► Vector  
DenseVector.cpp  
DenseVectorOpOverloading.cpp  Just a quick and simple check that DenseVector operator overloading is functioning 
SparseVector.cpp  
TestsOverview.h 
© 2012
R.E. Hewitt