18template<
class real_type>
22 real_type
width()
const{
return do_width();}
24 real_type
height()
const{
return do_height();}
43 const thrust::host_vector<real_type>& zeta1d,
44 const thrust::host_vector<real_type>& eta1d,
45 thrust::host_vector<real_type>& x,
46 thrust::host_vector<real_type>& y,
47 thrust::host_vector<real_type>& zetaX,
48 thrust::host_vector<real_type>& zetaY,
49 thrust::host_vector<real_type>& etaX,
50 thrust::host_vector<real_type>& etaY)
const
52 unsigned size = zeta1d.size()*eta1d.size();
53 x.resize(size),
y.resize(size);
54 zetaX = zetaY = etaX = etaY =
x ;
55 do_generate( zeta1d, eta1d,
x,
y,zetaX,zetaY,etaX,etaY);
74 virtual void do_generate(
75 const thrust::host_vector<real_type>& zeta1d,
76 const thrust::host_vector<real_type>& eta1d,
77 thrust::host_vector<real_type>& x,
78 thrust::host_vector<real_type>& y,
79 thrust::host_vector<real_type>& zetaX,
80 thrust::host_vector<real_type>& zetaY,
81 thrust::host_vector<real_type>& etaX,
82 thrust::host_vector<real_type>& etaY)
const = 0;
83 virtual real_type do_width()
const =0;
84 virtual real_type do_height()
const =0;
85 virtual bool do_isOrthogonal()
const{
return false;}
The abstract generator base class.
Definition: generator.h:20
aRealGenerator2d & operator=(const aRealGenerator2d &)
return *this
Definition: generator.h:72
virtual ~aRealGenerator2d()
Definition: generator.h:64
virtual aRealGenerator2d * clone() const =0
Abstract clone method that returns a copy on the heap.
aRealGenerator2d()
empty
Definition: generator.h:68
void generate(const thrust::host_vector< real_type > &zeta1d, const thrust::host_vector< real_type > &eta1d, thrust::host_vector< real_type > &x, thrust::host_vector< real_type > &y, thrust::host_vector< real_type > &zetaX, thrust::host_vector< real_type > &zetaY, thrust::host_vector< real_type > &etaX, thrust::host_vector< real_type > &etaY) const
Generate grid points and elements of the Jacobian.
Definition: generator.h:42
bool isOrthogonal() const
sparsity pattern for metric
Definition: generator.h:26
aRealGenerator2d(const aRealGenerator2d &)
empty
Definition: generator.h:70
real_type width() const
length in of the computational space
Definition: generator.h:22
real_type height() const
length in of the computational space
Definition: generator.h:24