41 namespace GlobalMapping
 
   71         const TiXmlElement                                *pMapping)
 
   78             "Mapping X = X(x,y), Y = Y(x,y) needs 2 velocity components.");   
 
   85     int physTot = 
m_fields[0]->GetTotPoints();
 
   91                             outarray[0], 1, outarray[0],1);
 
   97                             outarray[1], 1, outarray[1],1);
 
  110     int physTot = 
m_fields[0]->GetTotPoints();
 
  142     int physTot = 
m_fields[0]->GetTotPoints();
 
  174     int physTot = 
m_fields[0]->GetTotPoints();
 
  180                             outarray[0], 1, outarray[0],1);
 
  186                             outarray[1], 1, outarray[1],1);
 
  198     int physTot = 
m_fields[0]->GetTotPoints();
 
  205     int physTot = 
m_fields[0]->GetTotPoints();
 
  208     for (
int i=0; i<nvel*nvel; i++)
 
  227                                     outarray[2*nvel+2], 1);
 
  234     int physTot = 
m_fields[0]->GetTotPoints();
 
  237     for (
int i=0; i<nvel*nvel; i++)
 
  252                                             outarray[0*nvel+0], 1);
 
  257                                             outarray[1*nvel+1], 1);
 
  263                                             outarray[0*nvel+1], 1);
 
  264     Vmath::Vcopy(physTot, outarray[0*nvel+1], 1, outarray[1*nvel+0], 1);
 
  270                                         outarray[2*nvel+2], 1);
 
  278     int physTot = 
m_fields[0]->GetTotPoints();
 
  281     for (
int i = 0; i< nvel; i++)
 
  283         for (
int j = 0; j< nvel; j++)
 
  293                                             outarray[0*nvel+0],1);
 
  295                         outarray[0*nvel+0],1,outarray[0*nvel+0],1); 
 
  299                                             outarray[0*nvel+1],1);
 
  301                         outarray[0*nvel+1],1,outarray[0*nvel+1],1);
 
  305                                             outarray[1*nvel+0],1);
 
  307                         outarray[1*nvel+0],1,outarray[1*nvel+0],1);
 
  311                                             outarray[1*nvel+1],1);
 
  313                         outarray[1*nvel+1],1,outarray[1*nvel+1],1);
 
  321     int physTot = 
m_fields[0]->GetTotPoints();
 
  324     for (
int i = 0; i< nvel; i++)
 
  326         for (
int j = 0; j< nvel; j++)
 
  336                                             outarray[0*nvel+0],1);
 
  338                         outarray[0*nvel+0],1,outarray[0*nvel+0],1); 
 
  342                                             outarray[0*nvel+1],1);
 
  344                         outarray[0*nvel+1],1,outarray[0*nvel+1],1);
 
  348                                             outarray[1*nvel+0],1);
 
  350                         outarray[1*nvel+0],1,outarray[1*nvel+0],1);
 
  354                                             outarray[1*nvel+1],1);
 
  356                         outarray[1*nvel+1],1,outarray[1*nvel+1],1); 
 
  361     int phystot         = 
m_fields[0]->GetTotPoints();
 
  369     bool waveSpace = 
m_fields[0]->GetWaveSpace();
 
  389     m_fields[0]->SetWaveSpace(waveSpace);        
 
  394     int physTot = 
m_fields[0]->GetTotPoints();
 
  423     int physTot = 
m_fields[0]->GetTotPoints();
 
  432     for (
int i = 0; i < gradG.num_elements(); i++)
 
  437     for (
int i = 0; i < G.num_elements(); i++)
 
  447     bool waveSpace = 
m_fields[0]->GetWaveSpace();
 
  451     for (
int i = 0; i <2; i++)
 
  453         for(
int j=0; j<2; j++)
 
  455             for(
int k=0; k<2; k++)
 
  458                                         G[i*nvel+j],gradG[i*2*2 + j*2 + k]);
 
  464     for (
int p = 0; p <2; p++)
 
  466         for (
int j = 0; j < 2; j++)
 
  468             for (
int k = 0; k < 2; k++)
 
  471                                      gradG[p*2*2 + k*2 + j], 1,
 
  472                                      tmp[p*2*2 + j*2 + k], 1);
 
  474                                      gradG[j*2*2 + k*2 + p], 1,
 
  475                                      tmp[p*2*2 + j*2 + k], 1);
 
  477                                            tmp[p*2*2 + j*2 + k], 1);
 
  484     for (
int i = 0; i <2; i++)
 
  486         for (
int j = 0; j < 2; j++)
 
  488             for (
int k = 0; k <= j; k++)
 
  491                 for (
int p = 0; p < 2; p++)
 
  494                                           tmp[p*2*2 + j*2 + k], 1,
 
  503     m_fields[0]->SetWaveSpace(waveSpace);
 
Array< OneD, Array< OneD, NekDouble > > m_GeometricInfo
Array with metric terms of the mapping. 
 
virtual GLOBAL_MAPPING_EXPORT void v_ContravarToCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
 
Array< OneD, Array< OneD, NekDouble > > m_coords
Array with the Cartesian coordinates. 
 
#define ASSERTL0(condition, msg)
 
MappingFactory & GetMappingFactory()
Declaration of the mapping factory singleton. 
 
virtual GLOBAL_MAPPING_EXPORT void v_GetJacobian(Array< OneD, NekDouble > &outarray)
 
virtual GLOBAL_MAPPING_EXPORT void v_GetMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
 
GLOBAL_MAPPING_EXPORT void GetMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
Get the metric tensor . 
 
Array< OneD, Array< OneD, NekDouble > > m_metricTensor
 
void Vvtvp(int n, const T *w, const int incw, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
vvtvp (vector times vector plus vector): z = w*x + y 
 
static GLOBAL_MAPPING_EXPORT MappingSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping)
Creates an instance of this class. 
 
void Vdiv(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x/y. 
 
virtual GLOBAL_MAPPING_EXPORT void v_ContravarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
 
GLOBAL_MAPPING_EXPORT void GetJacobian(Array< OneD, NekDouble > &outarray)
Get the Jacobian of the transformation. 
 
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
 
int m_nConvectiveFields
Number of velocity components. 
 
void Vabs(int n, const T *x, const int incx, T *y, const int incy)
vabs: y = |x| 
 
MappingXYofXY(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
 
virtual GLOBAL_MAPPING_EXPORT void v_CovarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
 
Array< OneD, MultiRegions::ExpListSharedPtr > m_fields
 
virtual GLOBAL_MAPPING_EXPORT void v_GetInvMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
 
void Smul(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Scalar multiply y = alpha*y. 
 
void CalculateMetricTensor()
 
virtual GLOBAL_MAPPING_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping)
 
static std::string className
Name of the class. 
 
bool m_constantJacobian
Flag defining if the Jacobian is constant. 
 
void Neg(int n, T *x, const int incx)
Negate x = -x. 
 
virtual GLOBAL_MAPPING_EXPORT void v_ApplyChristoffelCovar(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
 
virtual GLOBAL_MAPPING_EXPORT void v_CovarToCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
 
void Sadd(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Add vector y = alpha + x. 
 
virtual GLOBAL_MAPPING_EXPORT void v_ApplyChristoffelContravar(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
 
Base class for mapping to be applied to the coordinate system. 
 
void Vsub(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Subtract vector z = x-y. 
 
MultiRegions::Direction const DirCartesianMap[]
 
void CalculateChristoffel()
 
void Vvtvm(int n, const T *w, const int incw, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
vvtvm (vector times vector plus vector): z = w*x - y 
 
virtual GLOBAL_MAPPING_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping)
 
Array< OneD, Array< OneD, NekDouble > > m_Christoffel
 
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
 
virtual GLOBAL_MAPPING_EXPORT void v_UpdateGeomInfo()
 
void Vadd(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Add vector z = x+y. 
 
void Vmul(int n, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
Multiply vector z = x*y. 
 
GLOBAL_MAPPING_EXPORT void GetInvMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
Get the inverse of metric tensor . 
 
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.