41 namespace GlobalMapping
 
   70         const TiXmlElement                                *pMapping)
 
   77            "Mapping X = x + f(z), Y = y+g(z) needs 3 velocity components.");
 
   84     int physTot = 
m_fields[0]->GetTotPoints();
 
   88                             inarray[0], 1, outarray[0],1);
 
   92                             inarray[1], 1, outarray[1],1);
 
  102     int physTot = 
m_fields[0]->GetTotPoints();
 
  113     Vmath::Vsub(physTot, inarray[2], 1, wk, 1, outarray[2], 1);
 
  115     Vmath::Vsub(physTot, inarray[2], 1, wk, 1, outarray[2], 1);
 
  122     int physTot = 
m_fields[0]->GetTotPoints();
 
  127     Vmath::Vsub(physTot, inarray[0], 1, wk, 1, outarray[0], 1);        
 
  131     Vmath::Vsub(physTot, inarray[1], 1, wk, 1, outarray[1], 1);
 
  141     int physTot = 
m_fields[0]->GetTotPoints();
 
  151                          inarray[0], 1, outarray[2], 1);
 
  153                             outarray[2], 1, outarray[2], 1);        
 
  154     Vmath::Vadd(physTot, inarray[2], 1, outarray[2], 1, outarray[2], 1);
 
  160     int physTot = 
m_fields[0]->GetTotPoints();
 
  168     int physTot = 
m_fields[0]->GetTotPoints();        
 
  175     int physTot = 
m_fields[0]->GetTotPoints();
 
  178     for (
int i=0; i<nvel*nvel; i++)
 
  183     for (
int i=0; i<nvel; i++)
 
  186                                     outarray[i*nvel+i], 1); 
 
  199                                                 outarray[2*nvel+2], 1);
 
  201                                                 outarray[2*nvel+2], 1);
 
  207     int physTot = 
m_fields[0]->GetTotPoints();
 
  211     for (
int i=0; i<nvel*nvel; i++)
 
  216     for (
int i=0; i<nvel; i++)
 
  219                                     outarray[i*nvel+i], 1); 
 
  224                                                 outarray[0*nvel+0], 1);
 
  228                                                 outarray[1*nvel+1], 1);
 
  232     Vmath::Vcopy(physTot, outarray[0*nvel+1], 1, outarray[1*nvel+0], 1);
 
  251     int physTot = 
m_fields[0]->GetTotPoints();
 
  254     for (
int i = 0; i< nvel; i++)
 
  256         for (
int j = 0; j< nvel; j++)
 
  266                                             outarray[0*nvel+2],1);
 
  270                                             outarray[1*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++)
 
  294                             outarray[2*nvel+2], 1, outarray[2*nvel+2],1);
 
  299     int phystot         = 
m_fields[0]->GetTotPoints();       
 
  307     bool waveSpace = 
m_fields[0]->GetWaveSpace();
 
  332     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_ApplyChristoffelContravar(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_DotGradJacobian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &outarray)
void Fill(int n, const T alpha, T *x, const int incx)
Fill a vector with a constant value. 
virtual GLOBAL_MAPPING_EXPORT void v_ContravarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
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 
virtual GLOBAL_MAPPING_EXPORT void v_GetJacobian(Array< OneD, NekDouble > &outarray)
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
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
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. 
virtual GLOBAL_MAPPING_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping)
virtual GLOBAL_MAPPING_EXPORT void v_CovarToCartesian(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)
virtual GLOBAL_MAPPING_EXPORT void v_GetMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
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_CovarFromCartesian(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. 
static std::string className
Name of the class. 
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_UpdateGeomInfo()
void Zero(int n, T *x, const int incx)
Zero vector. 
MappingXYofZ(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
virtual GLOBAL_MAPPING_EXPORT void v_ContravarToCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
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_GetInvMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.