mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-26 13:50:33 +05:00
59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
|
#ifndef FILE_SOLDATA
|
||
|
#define FILE_SOLDATA
|
||
|
|
||
|
|
||
|
using namespace std;
|
||
|
|
||
|
class SolutionData
|
||
|
{
|
||
|
protected:
|
||
|
|
||
|
string name;
|
||
|
int components;
|
||
|
bool iscomplex;
|
||
|
|
||
|
int multidimcomponent;
|
||
|
|
||
|
public:
|
||
|
SolutionData (const string & aname,
|
||
|
int acomponents = 1, bool aiscomplex = 0)
|
||
|
: name(aname), components(acomponents), iscomplex(aiscomplex)
|
||
|
{ ; }
|
||
|
|
||
|
virtual ~SolutionData ()
|
||
|
{ ; }
|
||
|
|
||
|
int GetComponents() { return components; }
|
||
|
bool IsComplex() { return iscomplex; }
|
||
|
|
||
|
virtual bool GetValue (int /* elnr */,
|
||
|
double /* lam1 */, double /* lam2 */, double /* lam3 */,
|
||
|
double * /* values */)
|
||
|
{ return false; }
|
||
|
|
||
|
virtual bool GetValue (int selnr,
|
||
|
const double xref[], const double x[], const double dxdxref[],
|
||
|
double * values)
|
||
|
{ return GetValue (selnr, xref[0], xref[1], xref[2], values); }
|
||
|
|
||
|
|
||
|
virtual bool GetSurfValue (int /* selnr */,
|
||
|
double /* lam1 */, double /* lam2 */,
|
||
|
double * /* values */)
|
||
|
{ return false; }
|
||
|
|
||
|
|
||
|
virtual bool GetSurfValue (int selnr,
|
||
|
const double xref[], const double x[], const double dxdxref[],
|
||
|
double * values)
|
||
|
{ return GetSurfValue (selnr, xref[0], xref[1], values); }
|
||
|
|
||
|
|
||
|
void SetMultiDimComponent (int mc)
|
||
|
{ multidimcomponent = mc; }
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif
|
||
|
|