44 "Translation mapping (X_i = x_i + constant)");
68 const TiXmlElement *pMapping)
73 if (
m_session->DefinesElement(
"Nektar/Mapping"))
79 int phystot = pFields[0]->GetTotPoints();
85 for (
int i = 0; i < 3; i++)
106 int physTot =
m_fields[0]->GetTotPoints();
118 int physTot =
m_fields[0]->GetTotPoints();
130 int physTot =
m_fields[0]->GetTotPoints();
142 int physTot =
m_fields[0]->GetTotPoints();
152 int physTot =
m_fields[0]->GetTotPoints();
160 int physTot =
m_fields[0]->GetTotPoints();
168 int physTot =
m_fields[0]->GetTotPoints();
171 for (
int i = 0; i < nvel * nvel; i++)
176 for (
int i = 0; i < nvel; i++)
178 Vmath::Sadd(physTot, 1.0, outarray[i + nvel * i], 1,
179 outarray[i + nvel * i], 1);
186 int physTot =
m_fields[0]->GetTotPoints();
189 for (
int i = 0; i < nvel * nvel; i++)
194 for (
int i = 0; i < nvel; i++)
196 Vmath::Sadd(physTot, 1.0, outarray[i + nvel * i], 1,
197 outarray[i + nvel * i], 1);
205 int physTot =
m_fields[0]->GetTotPoints();
208 for (
int i = 0; i < nvel; i++)
213 for (
int i = 0; i < nvel; i++)
223 int physTot =
m_fields[0]->GetTotPoints();
226 for (
int i = 0; i < nvel; i++)
231 for (
int i = 0; i < nvel; i++)
241 int physTot =
m_fields[0]->GetTotPoints();
244 for (
int i = 0; i < nvel; i++)
246 for (
int j = 0; j < nvel; j++)
257 int physTot =
m_fields[0]->GetTotPoints();
260 for (
int i = 0; i < nvel; i++)
262 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.
GLOBAL_MAPPING_EXPORT void v_CovarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_UpdateGeomInfo() override
GLOBAL_MAPPING_EXPORT void v_ContravarToCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_GetInvMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_ApplyChristoffelContravar(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_InitObject(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const TiXmlElement *pMapping) override
GLOBAL_MAPPING_EXPORT void v_ApplyChristoffelCovar(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_GetMetricTensor(Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_LowerIndex(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_ContravarFromCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_CovarToCartesian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_RaiseIndex(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) override
GLOBAL_MAPPING_EXPORT void v_GetJacobian(Array< OneD, NekDouble > &outarray) override
MappingTranslation(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields)
GLOBAL_MAPPING_EXPORT void v_DotGradJacobian(const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &outarray) override
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
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)