00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef LOCA_TURNINGPOINT_MOORESPENCE_FINITEDIFFERENCEGROUP_H
00043 #define LOCA_TURNINGPOINT_MOORESPENCE_FINITEDIFFERENCEGROUP_H
00044
00045 #include "LOCA_TurningPoint_MooreSpence_AbstractGroup.H"
00046 #include "LOCA_MultiContinuation_FiniteDifferenceGroup.H"
00047
00048 namespace LOCA {
00049
00050 namespace TurningPoint {
00051
00052 namespace MooreSpence {
00053
00068 class FiniteDifferenceGroup :
00069 public virtual LOCA::TurningPoint::MooreSpence::AbstractGroup,
00070 public virtual LOCA::MultiContinuation::FiniteDifferenceGroup {
00071
00072 public:
00073
00075 FiniteDifferenceGroup();
00076
00078 FiniteDifferenceGroup(const FiniteDifferenceGroup& source,
00079 NOX::CopyType type = NOX::DeepCopy);
00080
00082 virtual ~FiniteDifferenceGroup();
00083
00092 virtual NOX::Abstract::Group::ReturnType
00093 computeDJnDpMulti(const vector<int>& paramIDs,
00094 const NOX::Abstract::Vector& nullVector,
00095 NOX::Abstract::MultiVector& result,
00096 bool isValid);
00097
00108 virtual NOX::Abstract::Group::ReturnType
00109 computeDJnDxaMulti(const NOX::Abstract::Vector& nullVector,
00110 const NOX::Abstract::MultiVector& aVector,
00111 NOX::Abstract::MultiVector& result);
00112
00123 virtual NOX::Abstract::Group::ReturnType
00124 computeDJnDxaMulti(const NOX::Abstract::Vector& nullVector,
00125 const NOX::Abstract::Vector& JnVector,
00126 const NOX::Abstract::MultiVector& aVector,
00127 NOX::Abstract::MultiVector& result);
00128
00138 virtual NOX::Abstract::Group::ReturnType
00139 computeDwtJnDxMulti(const NOX::Abstract::MultiVector& w,
00140 const NOX::Abstract::Vector& nullVector,
00141 NOX::Abstract::MultiVector& result);
00142
00144 using NOX::Abstract::Group::operator=;
00145
00146 };
00147 }
00148 }
00149 }
00150
00151 #endif