35 #include <boost/core/ignore_unused.hpp>
42 namespace GlobalMapping
72 const TiXmlElement *pMapping)
77 if (
m_session->DefinesElement(
"Nektar/Mapping"))
83 int phystot = pFields[0]->GetTotPoints();
89 for (
int i = 0; i < 3; i++)
111 int physTot =
m_fields[0]->GetTotPoints();
123 int physTot =
m_fields[0]->GetTotPoints();
135 int physTot =
m_fields[0]->GetTotPoints();
147 int physTot =
m_fields[0]->GetTotPoints();
158 int physTot =
m_fields[0]->GetTotPoints();
166 boost::ignore_unused(inarray);
168 int physTot =
m_fields[0]->GetTotPoints();
176 int physTot =
m_fields[0]->GetTotPoints();
179 for (
int i=0; i<nvel*nvel; i++)
184 for (
int i=0; i<nvel; i++)
187 outarray[i+nvel*i], 1);
194 int physTot =
m_fields[0]->GetTotPoints();
197 for (
int i=0; i<nvel*nvel; i++)
202 for (
int i=0; i<nvel; i++)
205 outarray[i+nvel*i], 1);
213 int physTot =
m_fields[0]->GetTotPoints();
216 for (
int i=0; i<nvel; i++)
221 for (
int i=0; i<nvel; i++)
231 int physTot =
m_fields[0]->GetTotPoints();
234 for (
int i=0; i<nvel; i++)
239 for (
int i=0; i<nvel; i++)
249 boost::ignore_unused(inarray);
251 int physTot =
m_fields[0]->GetTotPoints();
254 for (
int i = 0; i< nvel; i++)
256 for (
int j = 0; j< nvel; j++)
267 boost::ignore_unused(inarray);
269 int physTot =
m_fields[0]->GetTotPoints();
272 for (
int i = 0; i< nvel; i++)
274 for (
int j = 0; j< nvel; j++)
Base class for mapping to be applied to the coordinate system.
int m_nConvectiveFields
Number of velocity components.
LibUtilities::SessionReaderSharedPtr m_session
Session reader.
Array< OneD, Array< OneD, NekDouble > > m_coords
Array with the Cartesian coordinates.
Array< OneD, Array< OneD, NekDouble > > m_coordsVel
Array with the velocity of the coordinates.
Array< OneD, MultiRegions::ExpListSharedPtr > m_fields
virtual GLOBAL_MAPPING_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping)
Array< OneD, Array< OneD, NekDouble > > m_tmp
bool m_constantJacobian
Flag defining if the Jacobian is constant.
bool m_timeDependent
Flag defining if the Mapping is time-dependent.
virtual GLOBAL_MAPPING_EXPORT void v_CovarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
virtual GLOBAL_MAPPING_EXPORT void v_LowerIndex(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
virtual GLOBAL_MAPPING_EXPORT void v_ContravarToCartesian(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_CovarToCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, 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)
MappingTranslation(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
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_GetJacobian(Array< OneD, NekDouble > &outarray)
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)
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_GetInvMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
virtual GLOBAL_MAPPING_EXPORT void v_UpdateGeomInfo()
virtual GLOBAL_MAPPING_EXPORT void v_GetMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray)
static std::string className
Name of the class.
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.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
MappingFactory & GetMappingFactory()
Declaration of the mapping factory singleton.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
The above copyright notice and this permission notice shall be included.
void Zero(int n, T *x, const int incx)
Zero vector.
void Fill(int n, const T alpha, T *x, const int incx)
Fill a vector with a constant value.
void Sadd(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Add vector y = alpha - x.
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)