40 namespace GlobalMapping
    70         const TiXmlElement                                *pMapping)
    77             "Mapping X = X(x,z) needs 3 velocity components.");   
    84     int physTot = 
m_fields[0]->GetTotPoints();
    90                             outarray[0], 1, outarray[0],1);
   103     int physTot = 
m_fields[0]->GetTotPoints();
   117     Vmath::Vsub(physTot, inarray[2], 1, wk, 1, outarray[2], 1);
   124     int physTot = 
m_fields[0]->GetTotPoints();
   133     Vmath::Vsub(physTot, outarray[0], 1, wk, 1, outarray[0], 1);        
   146     int physTot = 
m_fields[0]->GetTotPoints();
   157                          inarray[0], 1, outarray[2], 1);
   158     Vmath::Vadd(physTot, inarray[2], 1, outarray[2], 1, outarray[2], 1);
   164     int physTot = 
m_fields[0]->GetTotPoints();
   172     int physTot = 
m_fields[0]->GetTotPoints();
   176                             outarray, 1, outarray,1);
   182     int physTot = 
m_fields[0]->GetTotPoints();
   186     for (
int i=0; i<nvel*nvel; i++)
   191     for (
int i=1; i<nvel; i++)
   194                                     outarray[i+nvel*i], 1); 
   211                                     outarray[2*nvel+2], 1);
   217     int physTot = 
m_fields[0]->GetTotPoints();
   221     for (
int i=0; i<nvel*nvel; i++)
   226     for (
int i=0; i<nvel; i++)
   229                                     outarray[i+nvel*i], 1); 
   243                                     outarray[0*nvel+0], 1);
   248                                     outarray[0*nvel+0], 1);
   255     int physTot = 
m_fields[0]->GetTotPoints();
   261     Vmath::Vmul(physTot, wk, 1, inarray[2], 1, outarray[0], 1); 
   262     Vmath::Vmul(physTot, wk, 1, inarray[0], 1, outarray[2], 1); 
   268     Vmath::Vadd(physTot, outarray[0], 1, wk, 1, outarray[0], 1); 
   279     Vmath::Vadd(physTot, wk, 1, outarray[2],1, outarray[2], 1); 
   286     int physTot = 
m_fields[0]->GetTotPoints();
   293     Vmath::Vmul(physTot, wk, 1, inarray[0], 1, outarray[2], 1);          
   294     Vmath::Vsub(physTot, inarray[2], 1, outarray[2], 1, outarray[2], 1);
   297     Vmath::Vmul(physTot, wk, 1, inarray[2], 1, outarray[0], 1);
   305     Vmath::Vsub(physTot, wk, 1, outarray[0], 1, outarray[0], 1);
   317     int physTot = 
m_fields[0]->GetTotPoints();
   321     for (
int i = 0; i< nvel; i++)
   323         for (
int j = 0; j< nvel; j++)
   333     Vmath::Vmul(physTot,wk,1,inarray[0],1,outarray[0*nvel+0],1); 
   335     Vmath::Vvtvp(physTot,wk,1,inarray[2],1,outarray[0*nvel+0],1,
   336                                             outarray[0*nvel+0],1); 
   339     Vmath::Vmul(physTot,wk,1,inarray[0],1,outarray[0*nvel+2],1); 
   341     Vmath::Vvtvp(physTot,wk,1,inarray[2],1,outarray[0*nvel+2],1,
   342                                             outarray[0*nvel+2],1); 
   350     int physTot = 
m_fields[0]->GetTotPoints();
   354     for (
int i = 0; i< nvel; i++)
   356         for (
int j = 0; j< nvel; j++)
   366     Vmath::Vmul(physTot,wk,1,inarray[0],1,outarray[0*nvel+0],1); 
   370     Vmath::Vmul(physTot,wk,1,inarray[0],1,outarray[0*nvel+2],1); 
   371     Vmath::Vcopy(physTot,outarray[0*nvel+2],1,outarray[2*nvel+0],1);
   375     Vmath::Vmul(physTot,wk,1,inarray[0],1,outarray[2*nvel+2],1);  
   380     int phystot         = 
m_fields[0]->GetTotPoints();
   388     bool waveSpace = 
m_fields[0]->GetWaveSpace();
   404     m_fields[0]->SetWaveSpace(waveSpace);
 Array< OneD, Array< OneD, NekDouble > > m_GeometricInfo
Array with metric terms of the mapping. 
Array< OneD, Array< OneD, NekDouble > > m_coords
Array with the Cartesian coordinates. 
#define ASSERTL0(condition, msg)
virtual GLOBAL_MAPPING_EXPORT void v_LowerIndex(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
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_ContravarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
virtual GLOBAL_MAPPING_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping)
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 std::string className
Name of the 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. 
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. 
int m_nConvectiveFields
Number of velocity components. 
virtual GLOBAL_MAPPING_EXPORT void v_ApplyChristoffelCovar(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)
virtual GLOBAL_MAPPING_EXPORT void v_RaiseIndex(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
virtual GLOBAL_MAPPING_EXPORT void v_GetMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
virtual GLOBAL_MAPPING_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping)
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_ContravarToCartesian(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_CovarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
MappingXofXZ(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
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[]
virtual GLOBAL_MAPPING_EXPORT void v_ApplyChristoffelContravar(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
virtual GLOBAL_MAPPING_EXPORT void v_DotGradJacobian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &outarray)
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory. 
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
std::shared_ptr< SessionReader > SessionReaderSharedPtr
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. 
virtual GLOBAL_MAPPING_EXPORT void v_UpdateGeomInfo()
virtual GLOBAL_MAPPING_EXPORT void v_CovarToCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)