Add the OpenFOAM source tree
This commit is contained in:
3
applications/test/Field/Make/files
Normal file
3
applications/test/Field/Make/files
Normal file
@ -0,0 +1,3 @@
|
||||
Test-Field.C
|
||||
|
||||
EXE = $(FOAM_USER_APPBIN)/Test-Field
|
||||
2
applications/test/Field/Make/options
Normal file
2
applications/test/Field/Make/options
Normal file
@ -0,0 +1,2 @@
|
||||
/* EXE_INC = -I$(LIB_SRC)/cfdTools/include */
|
||||
/* EXE_LIBS = -lfiniteVolume */
|
||||
11
applications/test/Field/Test-Field.C
Normal file
11
applications/test/Field/Test-Field.C
Normal file
@ -0,0 +1,11 @@
|
||||
#include "Test-Field.H"
|
||||
|
||||
int main()
|
||||
{
|
||||
Vector<double> v1(1, 2);
|
||||
Vector<double> v2(2, 3);
|
||||
|
||||
std::cout << v1 + v2;
|
||||
|
||||
return 0;
|
||||
}
|
||||
58
applications/test/Field/Test-Field.H
Normal file
58
applications/test/Field/Test-Field.H
Normal file
@ -0,0 +1,58 @@
|
||||
#include <iostream>
|
||||
|
||||
template<class C>
|
||||
class Vector;
|
||||
|
||||
template<class C>
|
||||
Vector<C> operator+(const Vector<C>& v1, const Vector<C>& v2);
|
||||
|
||||
template<class C>
|
||||
std::ostream& operator<<(std::ostream& os, const Vector<C>& v);
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class Vector Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class C>
|
||||
class Vector
|
||||
{
|
||||
|
||||
double X, Y;
|
||||
|
||||
public:
|
||||
|
||||
inline Vector(const double x, const double y);
|
||||
|
||||
C x() const
|
||||
{
|
||||
return X;
|
||||
}
|
||||
|
||||
C y() const
|
||||
{
|
||||
return Y;
|
||||
}
|
||||
|
||||
friend Vector<C> operator+ <C>(const Vector<C>& v1, const Vector<C>& v2);
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& os, const Vector<C>& v)
|
||||
{
|
||||
os << v.X << '\t' << v.Y << '\n';
|
||||
return os;
|
||||
}
|
||||
};
|
||||
|
||||
template<class C>
|
||||
inline Vector<C>::Vector(const double x, const double y)
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
}
|
||||
|
||||
|
||||
template<class C>
|
||||
inline Vector<C> operator+(const Vector<C>& v1, const Vector<C>& v2)
|
||||
{
|
||||
return Vector<C>(v1.X+v2.X, v1.Y+v2.Y);
|
||||
}
|
||||
Reference in New Issue
Block a user