Nektar++
Public Member Functions | Public Attributes | Private Attributes | List of all members
Nektar::FieldUtils::Field Struct Reference

#include <Field.hpp>

Public Member Functions

FIELD_UTILS_EXPORT Field ()
 
FIELD_UTILS_EXPORT ~Field ()
 
FIELD_UTILS_EXPORT MultiRegions::ExpListSharedPtr SetUpFirstExpList (int NumHomogeneousDir, bool fldfilegiven=false)
 
FIELD_UTILS_EXPORT LibUtilities::FieldIOSharedPtr FieldIOForFile (std::string filename)
 Construct a FieldIO object for the file filename. More...
 
FIELD_UTILS_EXPORT MultiRegions::ExpListSharedPtr AppendExpList (int NumHomogeneousDir, std::string var="DefaultVar", bool NewField=false)
 
FIELD_UTILS_EXPORT void ClearField ()
 

Public Attributes

bool m_verbose
 
std::vector< LibUtilities::FieldDefinitionsSharedPtrm_fielddef
 
std::vector< std::vector< double > > m_data
 
std::vector< MultiRegions::ExpListSharedPtrm_exp
 
std::vector< std::string > m_variables
 
int m_numHomogeneousDir
 
bool m_declareExpansionAsContField
 
bool m_declareExpansionAsDisContField
 
bool m_requireBoundaryExpansion
 
bool m_useFFT
 
LibUtilities::CommSharedPtr m_comm
 
LibUtilities::SessionReaderSharedPtr m_session
 
SpatialDomains::MeshGraphSharedPtr m_graph
 
std::map< std::string, std::vector< std::string > > m_inputfiles
 
bool m_writeBndFld
 
std::vector< unsigned int > m_bndRegionsToWrite
 
bool m_addNormals
 
LibUtilities::PtsFieldSharedPtr m_fieldPts
 
LibUtilities::FieldMetaDataMap m_fieldMetaDataMap
 

Private Attributes

std::map< std::string, LibUtilities::FieldIOSharedPtrm_fld
 Map to store FieldIO instances. Key is the reader type, value is the FieldIO object. More...
 

Detailed Description

Definition at line 61 of file Field.hpp.

Constructor & Destructor Documentation

◆ Field()

FIELD_UTILS_EXPORT Nektar::FieldUtils::Field::Field ( )
inline

Definition at line 63 of file Field.hpp.

68  {
69  }
bool m_declareExpansionAsDisContField
Definition: Field.hpp:87
bool m_declareExpansionAsContField
Definition: Field.hpp:86
static PtsFieldSharedPtr NullPtsField
Definition: PtsField.h:180
LibUtilities::PtsFieldSharedPtr m_fieldPts
Definition: Field.hpp:102

◆ ~Field()

FIELD_UTILS_EXPORT Nektar::FieldUtils::Field::~Field ( )
inline

Definition at line 71 of file Field.hpp.

References m_comm.

72  {
73  if (m_comm)
74  {
75  m_comm->Finalise();
76  }
77  }
LibUtilities::CommSharedPtr m_comm
Definition: Field.hpp:93

Member Function Documentation

◆ AppendExpList()

FIELD_UTILS_EXPORT MultiRegions::ExpListSharedPtr Nektar::FieldUtils::Field::AppendExpList ( int  NumHomogeneousDir,
std::string  var = "DefaultVar",
bool  NewField = false 
)
inline

Definition at line 453 of file Field.hpp.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, and m_requireBoundaryExpansion.

457  {
458  if (var.compare("DefaultVar") == 0 && m_requireBoundaryExpansion)
459  {
460  if (m_session->GetVariables().size())
461  {
462  var = m_session->GetVariables()[0];
463  }
464  }
466  switch (m_graph->GetMeshDimension())
467  {
468  case 1:
469  {
470  if (NumHomogeneousDir == 1)
471  {
474  "ContField2DHomogeneous1D or "
475  "DisContField2DHomogenenous1D has not been "
476  "implemented");
477 
479  std::dynamic_pointer_cast<
480  MultiRegions::ExpList2DHomogeneous1D>(m_exp[0]);
481 
483  AllocateSharedPtr(*tmp2);
484  }
485  else if (NumHomogeneousDir == 2)
486  {
488  {
490  std::dynamic_pointer_cast<
491  MultiRegions::ContField3DHomogeneous2D>(
492  m_exp[0]);
493 
494  tmp = MemoryManager<
495  MultiRegions::ContField3DHomogeneous2D>::
496  AllocateSharedPtr(*tmp2);
497  }
499  {
501  tmp2 = std::dynamic_pointer_cast<
502  MultiRegions::DisContField3DHomogeneous2D>(
503  m_exp[0]);
504 
505  tmp = MemoryManager<
506  MultiRegions::DisContField3DHomogeneous2D>::
507  AllocateSharedPtr(*tmp2);
508  }
509  else
510  {
512  std::dynamic_pointer_cast<
513  MultiRegions::ExpList3DHomogeneous2D>(m_exp[0]);
514 
515  tmp = MemoryManager<
516  MultiRegions::ExpList3DHomogeneous2D>::
517  AllocateSharedPtr(*tmp2);
518  }
519  }
520  else
521  {
523  {
525  std::dynamic_pointer_cast<
526  MultiRegions::ContField1D>(m_exp[0]);
527 
530  }
532  {
534  std::dynamic_pointer_cast<
535  MultiRegions::DisContField1D>(m_exp[0]);
536 
539  }
540  else
541  {
543  std::dynamic_pointer_cast<
544  MultiRegions::ExpList1D>(m_exp[0]);
545 
546  tmp = MemoryManager<
547  MultiRegions::ExpList1D>::AllocateSharedPtr(*tmp2);
548  }
549  }
550  }
551  break;
552  case 2:
553  {
554  if (NumHomogeneousDir == 1)
555  {
557  {
558  if (NewField)
559  {
560  bool dealiasing = false;
561 
562  tmp = MemoryManager<
563  MultiRegions::ContField3DHomogeneous1D>::
564  AllocateSharedPtr(
565  m_session, m_exp[0]
566  ->GetHomogeneousBasis()
567  ->GetBasisKey(),
568  m_exp[0]->GetHomoLen(), m_useFFT,
569  dealiasing, m_graph, var);
570  }
571  else
572  {
574  tmp2 = std::dynamic_pointer_cast<
575  MultiRegions::ContField3DHomogeneous1D>(
576  m_exp[0]);
577 
578  ASSERTL0(tmp2, "Failed to type cast m_exp[0]");
579  tmp = MemoryManager<
580  MultiRegions::ContField3DHomogeneous1D>::
581  AllocateSharedPtr(*tmp2, m_graph, var);
582  }
583  }
585  {
586  if (NewField)
587  {
588  bool dealiasing = false;
589 
590  tmp = MemoryManager<
591  MultiRegions::DisContField3DHomogeneous1D>::
592  AllocateSharedPtr(
593  m_session, m_exp[0]
594  ->GetHomogeneousBasis()
595  ->GetBasisKey(),
596  m_exp[0]->GetHomoLen(), m_useFFT,
597  dealiasing, m_graph, var);
598  }
599  else
600  {
602  tmp2 = std::dynamic_pointer_cast<
603  MultiRegions::DisContField3DHomogeneous1D>(
604  m_exp[0]);
605  ASSERTL0(tmp2, "Failed to type cast m_exp[0]");
606 
607  tmp = MemoryManager<
608  MultiRegions::DisContField3DHomogeneous1D>::
609  AllocateSharedPtr(*tmp2);
610  }
611  }
612  else
613  {
614  if (NewField)
615  {
616  bool dealiasing = false;
617 
618  tmp = MemoryManager<
619  MultiRegions::ExpList3DHomogeneous1D>::
620  AllocateSharedPtr(
621  m_session, m_exp[0]
622  ->GetHomogeneousBasis()
623  ->GetBasisKey(),
624  m_exp[0]->GetHomoLen(), m_useFFT,
625  dealiasing, m_graph);
626  }
627  else
628  {
630  std::dynamic_pointer_cast<
631  MultiRegions::ExpList3DHomogeneous1D>(
632  m_exp[0]);
633  ASSERTL0(tmp2, "Failed to type cast m_exp[0]");
634 
635  tmp = MemoryManager<
636  MultiRegions::ExpList3DHomogeneous1D>::
637  AllocateSharedPtr(*tmp2);
638  }
639  }
640  }
641  else
642  {
644  {
645  if (NewField)
646  {
649  }
650  else // call copy constructor
651  {
652 
654  std::dynamic_pointer_cast<
655  MultiRegions::ContField2D>(m_exp[0]);
656 
658  AllocateSharedPtr(*tmp2, m_graph, var);
659  }
660  }
662  {
663  if (NewField)
664  {
667  }
668  else // call copy constructor
669  {
671  std::dynamic_pointer_cast<
672  MultiRegions::DisContField2D>(m_exp[0]);
673 
675  AllocateSharedPtr(*tmp2, m_graph, var);
676  }
677  }
678  else
679  {
681  std::dynamic_pointer_cast<
682  MultiRegions::ExpList2D>(m_exp[0]);
683 
684  tmp = MemoryManager<
685  MultiRegions::ExpList2D>::AllocateSharedPtr(*tmp2);
686  }
687  }
688  }
689  break;
690  case 3:
691  {
693  {
694  if (NewField)
695  {
698  }
699  else
700  {
702  std::dynamic_pointer_cast<
703  MultiRegions::ContField3D>(m_exp[0]);
704 
706  AllocateSharedPtr(*tmp2, m_graph, var);
707  }
708  }
710  {
711  if (NewField)
712  {
715  }
716  else
717  {
719  std::dynamic_pointer_cast<
720  MultiRegions::DisContField3D>(m_exp[0]);
721 
723  AllocateSharedPtr(*tmp2, m_graph, var);
724  }
725  }
726  else
727  {
729  std::dynamic_pointer_cast<MultiRegions::ExpList3D>(
730  m_exp[0]);
731 
732  tmp = MemoryManager<
733  MultiRegions::ExpList3D>::AllocateSharedPtr(*tmp2);
734  }
735  }
736  break;
737  default:
738  ASSERTL0(false, "Expansion dimension not recognised");
739  break;
740  }
741 
742  return tmp;
743  }
std::shared_ptr< DisContField2D > DisContField2DSharedPtr
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
std::shared_ptr< DisContField3DHomogeneous1D > DisContField3DHomogeneous1DSharedPtr
std::shared_ptr< ContField1D > ContField1DSharedPtr
Definition: ContField1D.h:238
std::shared_ptr< DisContField3D > DisContField3DSharedPtr
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
bool m_declareExpansionAsDisContField
Definition: Field.hpp:87
std::shared_ptr< ContField3DHomogeneous2D > ContField3DHomogeneous2DSharedPtr
std::shared_ptr< ContField2D > ContField2DSharedPtr
Definition: ContField2D.h:289
LibUtilities::SessionReaderSharedPtr m_session
Definition: Field.hpp:94
std::shared_ptr< ExpList3DHomogeneous1D > ExpList3DHomogeneous1DSharedPtr
Shared pointer to an ExpList3DHomogeneous1D object.
std::shared_ptr< ExpList2D > ExpList2DSharedPtr
Shared pointer to an ExpList2D object.
Definition: ExpList2D.h:48
SpatialDomains::MeshGraphSharedPtr m_graph
Definition: Field.hpp:95
bool m_declareExpansionAsContField
Definition: Field.hpp:86
std::shared_ptr< ContField3D > ContField3DSharedPtr
Definition: ContField3D.h:208
std::shared_ptr< ExpList2DHomogeneous1D > ExpList2DHomogeneous1DSharedPtr
Shared pointer to an ExpList2DHomogeneous1D object.
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
std::shared_ptr< DisContField3DHomogeneous2D > DisContField3DHomogeneous2DSharedPtr
std::vector< MultiRegions::ExpListSharedPtr > m_exp
Definition: Field.hpp:81
std::shared_ptr< DisContField1D > DisContField1DSharedPtr
std::shared_ptr< ExpList3D > ExpList3DSharedPtr
Shared pointer to an ExpList3D object.
Definition: ExpList3D.h:111
std::shared_ptr< ExpList1D > ExpList1DSharedPtr
Shared pointer to an ExpList1D object.
Definition: ExpList1D.h:49
std::shared_ptr< ContField3DHomogeneous1D > ContField3DHomogeneous1DSharedPtr
std::shared_ptr< ExpList3DHomogeneous2D > ExpList3DHomogeneous2DSharedPtr
Shared pointer to an ExpList3DHomogeneous2D object.

◆ ClearField()

FIELD_UTILS_EXPORT void Nektar::FieldUtils::Field::ClearField ( )
inline

Definition at line 745 of file Field.hpp.

References Nektar::LibUtilities::NullPtsField.

746  {
750  m_exp.clear();
751  m_fielddef = std::vector<LibUtilities::FieldDefinitionsSharedPtr>();
752  m_data = std::vector<std::vector<NekDouble> > ();
753  m_variables.clear();
754  }
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
Definition: MeshGraph.h:163
std::vector< std::string > m_variables
Definition: Field.hpp:82
LibUtilities::SessionReaderSharedPtr m_session
Definition: Field.hpp:94
std::vector< std::vector< double > > m_data
Definition: Field.hpp:80
SpatialDomains::MeshGraphSharedPtr m_graph
Definition: Field.hpp:95
std::vector< LibUtilities::FieldDefinitionsSharedPtr > m_fielddef
Definition: Field.hpp:79
std::vector< MultiRegions::ExpListSharedPtr > m_exp
Definition: Field.hpp:81
static PtsFieldSharedPtr NullPtsField
Definition: PtsField.h:180
LibUtilities::PtsFieldSharedPtr m_fieldPts
Definition: Field.hpp:102
std::shared_ptr< SessionReader > SessionReaderSharedPtr

◆ FieldIOForFile()

FIELD_UTILS_EXPORT LibUtilities::FieldIOSharedPtr Nektar::FieldUtils::Field::FieldIOForFile ( std::string  filename)
inline

Construct a FieldIO object for the file filename.

This routine constructs an appropriate FieldIO object for a filename through the LibUtilities::FieldIO::GetFileType function to detect the file format. The result is then cached in Field::m_fld to avoid needing to repeatedly construct the object.

Parameters
filenameFilename to open.
Returns
Reader for filename.

Definition at line 433 of file Field.hpp.

References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::GetFieldIOFactory(), Nektar::LibUtilities::FieldIO::GetFileType(), m_comm, and m_fld.

435  {
437  std::string fmt = LibUtilities::FieldIO::GetFileType(filename, c);
438  auto it = m_fld.find(fmt);
439 
440  if (it == m_fld.end())
441  {
444  m_fld[fmt] = fld;
445  return fld;
446  }
447  else
448  {
449  return it->second;
450  }
451  }
LibUtilities::CommSharedPtr m_comm
Definition: Field.hpp:93
std::map< std::string, LibUtilities::FieldIOSharedPtr > m_fld
Map to store FieldIO instances. Key is the reader type, value is the FieldIO object.
Definition: Field.hpp:759
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
Definition: Comm.h:53
FieldIOFactory & GetFieldIOFactory()
Returns the FieldIO factory.
Definition: FieldIO.cpp:72
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
Definition: NekFactory.hpp:144
static const std::string GetFileType(const std::string &filename, CommSharedPtr comm)
Determine file type of given input file.
Definition: FieldIO.cpp:97
std::shared_ptr< FieldIO > FieldIOSharedPtr
Definition: FieldIO.h:306

◆ SetUpFirstExpList()

FIELD_UTILS_EXPORT MultiRegions::ExpListSharedPtr Nektar::FieldUtils::Field::SetUpFirstExpList ( int  NumHomogeneousDir,
bool  fldfilegiven = false 
)
inline

Definition at line 106 of file Field.hpp.

References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, Nektar::LibUtilities::eFourier, Nektar::LibUtilities::eFourierEvenlySpaced, Nektar::LibUtilities::eFourierHalfModeRe, Nektar::LibUtilities::eFourierSingleMode, Nektar::Collections::eNoCollection, and Nektar::LibUtilities::ePolyEvenlySpaced.

108  {
109 
111 
112  // Set up expansion list
113  int expdim = m_graph->GetMeshDimension();
114  bool dealiasing = false;
115 
116  m_session->MatchSolverInfo("USEFFT", "FFTW", m_useFFT, false);
117 
118  switch (expdim)
119  {
120  case 1:
121  {
122  ASSERTL0(NumHomogeneousDir <= 2,
123  "Quasi-3D approach is only set up for 1 or 2 "
124  "homogeneous directions");
125 
126  if (NumHomogeneousDir == 1)
127  {
129 
130  // Define Homogeneous expansion
131  int nplanes;
132  NekDouble ly;
134 
135  if (fldfilegiven)
136  {
137  nplanes = m_fielddef[0]->m_numModes[1];
138  ly = m_fielddef[0]->m_homogeneousLengths[0];
139  btype = m_fielddef[0]->m_basis[1];
140  }
141  else
142  {
143  m_session->LoadParameter("HomModesZ", nplanes);
144  m_session->LoadParameter("LY", ly);
145  btype = LibUtilities::eFourier;
146  }
147 
148  // Choose points to be at evenly spaced points at
149  // nplanes points
150  const LibUtilities::PointsKey Pkey(
152 
153  const LibUtilities::BasisKey Bkey(btype, nplanes, Pkey);
154 
157  {
158  ASSERTL0(false, "ContField2DHomogeneous1D or "
159  "DisContField2DHomogenenous1D has "
160  "not been implemented");
161  }
162 
163  Exp2DH1 =
166  dealiasing, m_graph,
168  exp = Exp2DH1;
169  }
170  else if (NumHomogeneousDir == 2)
171  {
173 
174  int nylines, nzlines;
175  NekDouble ly, lz;
176  LibUtilities::BasisType btype1, btype2;
177 
178  if (fldfilegiven)
179  {
180  nylines = m_fielddef[0]->m_numModes[1];
181  nzlines = m_fielddef[0]->m_numModes[2];
182  ly = m_fielddef[0]->m_homogeneousLengths[0];
183  lz = m_fielddef[0]->m_homogeneousLengths[1];
184  btype1 = m_fielddef[0]->m_basis[1];
185  btype2 = m_fielddef[0]->m_basis[2];
186  }
187  else
188  {
189  m_session->LoadParameter("HomModesY", nylines);
190  m_session->LoadParameter("HomModesZ", nzlines);
191  m_session->LoadParameter("LY", ly);
192  m_session->LoadParameter("LZ", lz);
193  btype1 = LibUtilities::eFourier;
194  btype2 = LibUtilities::eFourier;
195  }
196 
197  // Choose points to be at evenly spaced points at
198  // nplanes points
199  const LibUtilities::PointsKey PkeyY(
201  const LibUtilities::BasisKey BkeyY(btype1, nylines, PkeyY);
202 
203  const LibUtilities::PointsKey PkeyZ(
205  const LibUtilities::BasisKey BkeyZ(btype2, nzlines, PkeyZ);
206 
208  {
209  Exp3DH2 = MemoryManager<
210  MultiRegions::ContField3DHomogeneous2D>::
211  AllocateSharedPtr(m_session, BkeyY, BkeyZ, ly, lz,
212  m_useFFT, dealiasing, m_graph,
213  m_session->GetVariable(0),
215  }
217  {
218  Exp3DH2 = MemoryManager<
219  MultiRegions::DisContField3DHomogeneous2D>::
220  AllocateSharedPtr(m_session, BkeyY, BkeyZ, ly, lz,
221  m_useFFT, dealiasing, m_graph,
222  m_session->GetVariable(0),
224  }
225  else
226  {
227  Exp3DH2 = MemoryManager<
228  MultiRegions::ExpList3DHomogeneous2D>::
229  AllocateSharedPtr(m_session, BkeyY, BkeyZ, ly, lz,
230  m_useFFT, dealiasing, m_graph,
232  }
233 
234  exp = Exp3DH2;
235  }
236  else
237  {
239 
241  {
244  m_session->GetVariable(0),
246  }
248  {
251  m_session->GetVariable(0),
252  true,
254  }
255  else
256  {
259  true,
261  }
262 
263  exp = Exp1D;
264  }
265  }
266  break;
267  case 2:
268  {
269  ASSERTL0(NumHomogeneousDir <= 1,
270  "NumHomogeneousDir is only set up for 1");
271 
272  if (NumHomogeneousDir == 1)
273  {
275 
276  // Define Homogeneous expansion
277  int nplanes;
278  NekDouble lz;
282 
283  if (fldfilegiven)
284  {
285  nplanes = m_fielddef[0]->m_numModes[2];
286  lz = m_fielddef[0]->m_homogeneousLengths[0];
287  btype = m_fielddef[0]->m_basis[2];
288 
290  {
291  btype = LibUtilities::eFourier;
292  m_fielddef[0]->m_basis[2] =
294  if (nplanes <= 2)
295  {
296  nplanes = 4;
297  }
298  }
299  else if (btype == LibUtilities::eFourierHalfModeRe &&
300  nplanes == 1)
301  {
303  }
304  }
305  else
306  {
307  m_session->LoadParameter("HomModesZ", nplanes);
308  m_session->LoadParameter("LZ", lz);
309  btype = LibUtilities::eFourier;
310  }
311 
312  // Choose points to be at evenly spaced points at
313  // nplanes points
314  const LibUtilities::PointsKey Pkey(
315  nplanes, ptype);
316 
317  const LibUtilities::BasisKey Bkey(btype, nplanes, Pkey);
318 
320  {
321  Exp3DH1 = MemoryManager<
322  MultiRegions::ContField3DHomogeneous1D>::
323  AllocateSharedPtr(m_session, Bkey, lz, m_useFFT,
324  dealiasing, m_graph,
325  m_session->GetVariable(0),
327  }
329  {
330  Exp3DH1 = MemoryManager<
331  MultiRegions::DisContField3DHomogeneous1D>::
332  AllocateSharedPtr(m_session, Bkey, lz, m_useFFT,
333  dealiasing, m_graph,
334  m_session->GetVariable(0),
336  }
337  else
338  {
339  Exp3DH1 = MemoryManager<
340  MultiRegions::ExpList3DHomogeneous1D>::
341  AllocateSharedPtr(m_session, Bkey, lz, m_useFFT,
342  dealiasing, m_graph,
343  "DefaultVar",
345  }
346  exp = Exp3DH1;
347  }
348  else
349  {
351 
353  {
356  m_session->GetVariable(0),
357  true,false,
359  }
361  {
364  m_session->GetVariable(0),
365  true,true,
367  }
368  else
369  {
372  true,
373  "DefaultVar",
375  }
376 
377  exp = Exp2D;
378  }
379  }
380  break;
381  case 3:
382  {
384 
386  {
389  m_session->GetVariable(0),
390  false,
392  }
394  {
397  m_session->GetVariable(0),
398  true,
400  }
401  else
402  {
403  Exp3D = MemoryManager<
404  MultiRegions::ExpList3D>::AllocateSharedPtr(
405  m_session,
406  m_graph,
407  "DefaultVar",
409  }
410 
411  exp = Exp3D;
412  }
413  break;
414  default:
415  ASSERTL0(false, "Expansion dimension not recognised");
416  break;
417  }
418 
419  return exp;
420  };
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:216
std::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
bool m_declareExpansionAsDisContField
Definition: Field.hpp:87
LibUtilities::SessionReaderSharedPtr m_session
Definition: Field.hpp:94
std::shared_ptr< ExpList3DHomogeneous1D > ExpList3DHomogeneous1DSharedPtr
Shared pointer to an ExpList3DHomogeneous1D object.
Fourier Expansion .
Definition: BasisType.h:53
std::shared_ptr< ExpList2D > ExpList2DSharedPtr
Shared pointer to an ExpList2D object.
Definition: ExpList2D.h:48
SpatialDomains::MeshGraphSharedPtr m_graph
Definition: Field.hpp:95
bool m_declareExpansionAsContField
Definition: Field.hpp:86
1D Evenly-spaced points using Lagrange polynomial
Definition: PointsType.h:64
std::vector< LibUtilities::FieldDefinitionsSharedPtr > m_fielddef
Definition: Field.hpp:79
1D Evenly-spaced points using Fourier Fit
Definition: PointsType.h:65
std::shared_ptr< ExpList2DHomogeneous1D > ExpList2DHomogeneous1DSharedPtr
Shared pointer to an ExpList2DHomogeneous1D object.
Fourier Modified expansions with just the real part of the first mode .
Definition: BasisType.h:60
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
double NekDouble
Fourier ModifiedExpansion with just the first mode .
Definition: BasisType.h:59
std::shared_ptr< ExpList3D > ExpList3DSharedPtr
Shared pointer to an ExpList3D object.
Definition: ExpList3D.h:111
std::shared_ptr< ExpList1D > ExpList1DSharedPtr
Shared pointer to an ExpList1D object.
Definition: ExpList1D.h:49
std::shared_ptr< ExpList3DHomogeneous2D > ExpList3DHomogeneous2DSharedPtr
Shared pointer to an ExpList3DHomogeneous2D object.

Member Data Documentation

◆ m_addNormals

bool Nektar::FieldUtils::Field::m_addNormals

Definition at line 100 of file Field.hpp.

◆ m_bndRegionsToWrite

std::vector<unsigned int> Nektar::FieldUtils::Field::m_bndRegionsToWrite

Definition at line 99 of file Field.hpp.

◆ m_comm

LibUtilities::CommSharedPtr Nektar::FieldUtils::Field::m_comm

Definition at line 93 of file Field.hpp.

Referenced by FieldIOForFile(), and ~Field().

◆ m_data

std::vector<std::vector<double> > Nektar::FieldUtils::Field::m_data

Definition at line 80 of file Field.hpp.

◆ m_declareExpansionAsContField

bool Nektar::FieldUtils::Field::m_declareExpansionAsContField

Definition at line 86 of file Field.hpp.

◆ m_declareExpansionAsDisContField

bool Nektar::FieldUtils::Field::m_declareExpansionAsDisContField

Definition at line 87 of file Field.hpp.

◆ m_exp

std::vector<MultiRegions::ExpListSharedPtr> Nektar::FieldUtils::Field::m_exp

Definition at line 81 of file Field.hpp.

◆ m_fielddef

std::vector<LibUtilities::FieldDefinitionsSharedPtr> Nektar::FieldUtils::Field::m_fielddef

Definition at line 79 of file Field.hpp.

◆ m_fieldMetaDataMap

LibUtilities::FieldMetaDataMap Nektar::FieldUtils::Field::m_fieldMetaDataMap

Definition at line 104 of file Field.hpp.

◆ m_fieldPts

LibUtilities::PtsFieldSharedPtr Nektar::FieldUtils::Field::m_fieldPts

Definition at line 102 of file Field.hpp.

◆ m_fld

std::map<std::string, LibUtilities::FieldIOSharedPtr> Nektar::FieldUtils::Field::m_fld
private

Map to store FieldIO instances. Key is the reader type, value is the FieldIO object.

Definition at line 759 of file Field.hpp.

Referenced by FieldIOForFile().

◆ m_graph

SpatialDomains::MeshGraphSharedPtr Nektar::FieldUtils::Field::m_graph

Definition at line 95 of file Field.hpp.

◆ m_inputfiles

std::map<std::string, std::vector<std::string> > Nektar::FieldUtils::Field::m_inputfiles

Definition at line 96 of file Field.hpp.

◆ m_numHomogeneousDir

int Nektar::FieldUtils::Field::m_numHomogeneousDir

Definition at line 84 of file Field.hpp.

◆ m_requireBoundaryExpansion

bool Nektar::FieldUtils::Field::m_requireBoundaryExpansion

Definition at line 89 of file Field.hpp.

Referenced by AppendExpList().

◆ m_session

LibUtilities::SessionReaderSharedPtr Nektar::FieldUtils::Field::m_session

Definition at line 94 of file Field.hpp.

◆ m_useFFT

bool Nektar::FieldUtils::Field::m_useFFT

Definition at line 91 of file Field.hpp.

◆ m_variables

std::vector<std::string> Nektar::FieldUtils::Field::m_variables

Definition at line 82 of file Field.hpp.

◆ m_verbose

bool Nektar::FieldUtils::Field::m_verbose

Definition at line 78 of file Field.hpp.

◆ m_writeBndFld

bool Nektar::FieldUtils::Field::m_writeBndFld

Definition at line 98 of file Field.hpp.