10 #ifndef RSVSMATH_H_INCLUDED
11 #define RSVSMATH_H_INCLUDED
40 std::vector<double>
const *p0 = NULL;
41 std::vector<double>
const *p1 = NULL;
42 std::vector<double>
const *p2 = NULL;
52 bool MakeValidField(std::vector<double> *
TriFunc::*mp);
60 void assign(
const std::vector<double> &in0,
const std::vector<double> &in1,
const std::vector<double> &in2);
61 void assign(
const std::vector<double> *in0,
const std::vector<double> *in1,
const std::vector<double> *in2);
62 void assign(
int pRepI,
const std::vector<double> &pRep);
64 virtual void Calc() = 0;
70 jac.assign(1, 3 * nTarg, fun);
71 hes.assign(3 * nTarg, 3 * nTarg, fun);
79 jac.assign(1, 3 * nTarg, fun);
80 hes.assign(3 * nTarg, 3 * nTarg, fun);
104 void InitialiseArrays();
113 void assign(
int pRepI,
const std::vector<double> &pRep);
118 virtual void Calc() = 0;
125 void ResetNCoord(
int n)
130 void ResetNFun(
int n)
178 using TriFunc::PreCalc;
179 using TriFunc::TriFunc;
182 void Calc()
override;
194 using TriFunc::PreCalc;
195 using TriFunc::TriFunc;
198 void Calc()
override;
203 using CoordFunc::coords;
204 using CoordFunc::fun;
205 using CoordFunc::hes;
206 using CoordFunc::jac;
207 using CoordFunc::PreCalc;
210 void Calc()
override;
218 using CoordFunc::coords;
219 using CoordFunc::fun;
220 using CoordFunc::hes;
221 using CoordFunc::jac;
222 using CoordFunc::PreCalc;
225 void Calc()
override;
235 using CoordFunc::coords;
236 using CoordFunc::fun;
237 using CoordFunc::hes;
238 using CoordFunc::jac;
239 using CoordFunc::nCoord;
241 std::vector<double> centroid;
242 double edgeLength = 0.0;
243 bool calcDeriv =
true;
247 void Calc()
override;
249 void assigncentroid(
const std::vector<double> &vecin);
253 return ((this->jac));
257 return ((this->hes));
262 centroid.assign(nDim, 0);
267 centroid.assign(nDim, 0);
273 int Test_SurfCentreDerivatives();
bool MakeValidField(std::vector< double > const *mp)
CoordFunc supports the same stuff as tri func but can have any number of points.
\TODO refactor mesh.hpp into mesh and coord headers to allow smaller includes
Class for control of rsvs epsilon.
Provides all the mesh tools used for the generation of 3D grids and geometries.
std::vector< const std::vector< double > * > coordlist
Defines a list of coordinates.
Namespace containing the parameter classes used to control execution of the 3D-RSVS program.
Provides a 2D std::vector based container.