Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Nektar::FieldUtils::Module Class Referenceabstract

#include <Module.h>

Inheritance diagram for Nektar::FieldUtils::Module:
Inheritance graph
[legend]
Collaboration diagram for Nektar::FieldUtils::Module:
Collaboration graph
[legend]

Public Member Functions

FIELD_UTILS_EXPORT Module (FieldSharedPtr p_f)
 
virtual void Process (po::variables_map &vm)=0
 
virtual std::string GetModuleName ()=0
 
FIELD_UTILS_EXPORT void RegisterConfig (string key, string value)
 Register a configuration option with a module. More...
 
FIELD_UTILS_EXPORT void PrintConfig ()
 Print out all configuration options for a module. More...
 
FIELD_UTILS_EXPORT void SetDefaults ()
 Sets default configuration options for those which have not been set. More...
 
FIELD_UTILS_EXPORT bool GetRequireEquiSpaced (void)
 
FIELD_UTILS_EXPORT void SetRequireEquiSpaced (bool pVal)
 
FIELD_UTILS_EXPORT void EvaluateTriFieldAtEquiSpacedPts (LocalRegions::ExpansionSharedPtr &exp, const Array< OneD, const NekDouble > &infield, Array< OneD, NekDouble > &outfield)
 

Protected Member Functions

 Module ()
 

Protected Attributes

FieldSharedPtr m_f
 Field object. More...
 
map< string, ConfigOptionm_config
 List of configuration values. More...
 
bool m_requireEquiSpaced
 

Detailed Description

Abstract base class for mesh converter modules. Each subclass implements the Process() function, which in some way alters the mesh #m.

Definition at line 136 of file FieldUtils/Module.h.

Constructor & Destructor Documentation

FIELD_UTILS_EXPORT Nektar::FieldUtils::Module::Module ( FieldSharedPtr  p_f)
inline

Definition at line 139 of file FieldUtils/Module.h.

140  : m_f(p_f), m_requireEquiSpaced(false)
141  {
142  }
FieldSharedPtr m_f
Field object.
Nektar::FieldUtils::Module::Module ( )
inlineprotected

Definition at line 167 of file FieldUtils/Module.h.

167 {};

Member Function Documentation

FIELD_UTILS_EXPORT void Nektar::FieldUtils::Module::EvaluateTriFieldAtEquiSpacedPts ( LocalRegions::ExpansionSharedPtr exp,
const Array< OneD, const NekDouble > &  infield,
Array< OneD, NekDouble > &  outfield 
)
virtual std::string Nektar::FieldUtils::Module::GetModuleName ( )
pure virtual

Implemented in Nektar::FieldUtils::OutputTecplot, Nektar::FieldUtils::ProcessInterpPoints, Nektar::FieldUtils::ProcessCombineAvg, Nektar::FieldUtils::ProcessInterpField, Nektar::FieldUtils::ProcessInterpPointDataToFld, Nektar::FieldUtils::ProcessMapping, Nektar::FieldUtils::ProcessPointDataToFld, Nektar::FieldUtils::OutputVtk, Nektar::FieldUtils::ProcessAddCompositeID, Nektar::FieldUtils::ProcessAddFld, Nektar::FieldUtils::ProcessC0Projection, Nektar::FieldUtils::ProcessGrad, Nektar::FieldUtils::ProcessHomogeneousPlane, Nektar::FieldUtils::ProcessHomogeneousStretch, Nektar::FieldUtils::ProcessInnerProduct, Nektar::FieldUtils::ProcessMeanMode, Nektar::FieldUtils::ProcessMultiShear, Nektar::FieldUtils::ProcessQCriterion, Nektar::FieldUtils::ProcessScaleInFld, Nektar::FieldUtils::ProcessScalGrad, Nektar::FieldUtils::ProcessSurfDistance, Nektar::FieldUtils::ProcessWSS, Nektar::FieldUtils::ProcessEquiSpacedOutput, Nektar::FieldUtils::ProcessNumModes, Nektar::FieldUtils::ProcessPrintFldNorms, Nektar::FieldUtils::ProcessVorticity, Nektar::FieldUtils::InputFld, Nektar::FieldUtils::InputNek5000, Nektar::FieldUtils::InputPts, Nektar::FieldUtils::InputXml, Nektar::FieldUtils::OutputFld, Nektar::FieldUtils::OutputPts, Nektar::FieldUtils::ProcessBoundaryExtract, Nektar::FieldUtils::ProcessConcatenateFld, Nektar::FieldUtils::OutputInfo, Nektar::FieldUtils::OutputStdOut, Nektar::FieldUtils::OutputXml, Nektar::FieldUtils::ProcessJacobianEnergy, Nektar::FieldUtils::ProcessQualityMetric, Nektar::FieldUtils::InputDat, Nektar::FieldUtils::ProcessDeform, and Nektar::FieldUtils::ProcessDisplacement.

FIELD_UTILS_EXPORT bool Nektar::FieldUtils::Module::GetRequireEquiSpaced ( void  )
inline

Definition at line 151 of file FieldUtils/Module.h.

152  {
153  return m_requireEquiSpaced;
154  }
void Nektar::FieldUtils::Module::PrintConfig ( )

Print out all configuration options for a module.

Definition at line 127 of file FieldUtils/Module.cpp.

References Nektar::iterator, and m_config.

128 {
130 
131  if (m_config.size() == 0)
132  {
133  cerr << "No configuration options for this module." << endl;
134  return;
135  }
136 
137  for (it = m_config.begin(); it != m_config.end(); ++it)
138  {
139  cerr << setw(10) << it->first << ": " << it->second.m_desc << endl;
140  }
141 }
map< string, ConfigOption > m_config
List of configuration values.
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
virtual void Nektar::FieldUtils::Module::Process ( po::variables_map &  vm)
pure virtual

Implemented in Nektar::FieldUtils::ProcessIsoContour, Nektar::FieldUtils::OutputTecplot, Nektar::FieldUtils::ProcessCombineAvg, Nektar::FieldUtils::ProcessInterpPointDataToFld, Nektar::FieldUtils::ProcessInterpPoints, Nektar::FieldUtils::ProcessMapping, Nektar::FieldUtils::ProcessPointDataToFld, Nektar::FieldUtils::ProcessAddCompositeID, Nektar::FieldUtils::ProcessAddFld, Nektar::FieldUtils::ProcessC0Projection, Nektar::FieldUtils::ProcessGrad, Nektar::FieldUtils::ProcessHomogeneousPlane, Nektar::FieldUtils::ProcessHomogeneousStretch, Nektar::FieldUtils::ProcessInnerProduct, Nektar::FieldUtils::ProcessMeanMode, Nektar::FieldUtils::ProcessMultiShear, Nektar::FieldUtils::ProcessQCriterion, Nektar::FieldUtils::ProcessScaleInFld, Nektar::FieldUtils::ProcessScalGrad, Nektar::FieldUtils::ProcessSurfDistance, Nektar::FieldUtils::ProcessWSS, Nektar::FieldUtils::ProcessEquiSpacedOutput, Nektar::FieldUtils::ProcessInterpField, Nektar::FieldUtils::ProcessNumModes, Nektar::FieldUtils::ProcessPrintFldNorms, Nektar::FieldUtils::ProcessVorticity, Nektar::FieldUtils::OutputFld, Nektar::FieldUtils::OutputPts, Nektar::FieldUtils::OutputVtk, Nektar::FieldUtils::ProcessBoundaryExtract, Nektar::FieldUtils::ProcessConcatenateFld, Nektar::FieldUtils::OutputInfo, Nektar::FieldUtils::OutputStdOut, Nektar::FieldUtils::OutputXml, Nektar::FieldUtils::ProcessJacobianEnergy, Nektar::FieldUtils::ProcessQualityMetric, Nektar::FieldUtils::ProcessDeform, Nektar::FieldUtils::ProcessDisplacement, Nektar::FieldUtils::InputFld, Nektar::FieldUtils::InputNek5000, Nektar::FieldUtils::InputPts, Nektar::FieldUtils::InputXml, and Nektar::FieldUtils::InputDat.

void Nektar::FieldUtils::Module::RegisterConfig ( string  key,
string  value 
)

Register a configuration option with a module.

Definition at line 103 of file FieldUtils/Module.cpp.

References Nektar::iterator, and m_config.

Referenced by Nektar::FieldUtils::ProcessMeanMode::Process().

104 {
106  if (it == m_config.end())
107  {
108  cerr << "WARNING: Unrecognised config option " << key
109  << ", proceeding anyway." << endl;
110  }
111 
112  it->second.m_beenSet = true;
113 
114  if (it->second.m_isBool)
115  {
116  it->second.m_value = "1";
117  }
118  else
119  {
120  it->second.m_value = val;
121  }
122 }
map< string, ConfigOption > m_config
List of configuration values.
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
void Nektar::FieldUtils::Module::SetDefaults ( )

Sets default configuration options for those which have not been set.

Definition at line 147 of file FieldUtils/Module.cpp.

References Nektar::iterator, and m_config.

148 {
150 
151  for (it = m_config.begin(); it != m_config.end(); ++it)
152  {
153  if (!it->second.m_beenSet)
154  {
155  it->second.m_value = it->second.m_defValue;
156  }
157  }
158 }
map< string, ConfigOption > m_config
List of configuration values.
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
FIELD_UTILS_EXPORT void Nektar::FieldUtils::Module::SetRequireEquiSpaced ( bool  pVal)
inline

Definition at line 156 of file FieldUtils/Module.h.

157  {
158  m_requireEquiSpaced = pVal;
159  }

Member Data Documentation

map<string, ConfigOption> Nektar::FieldUtils::Module::m_config
protected

List of configuration values.

Definition at line 172 of file FieldUtils/Module.h.

Referenced by Nektar::FieldUtils::ProcessInterpPoints::calcCp0(), Nektar::FieldUtils::InputModule::InputModule(), Nektar::FieldUtils::OutputModule::OpenStream(), Nektar::FieldUtils::OutputFld::OutputFld(), Nektar::FieldUtils::OutputModule::OutputModule(), Nektar::FieldUtils::OutputTecplot::OutputTecplot(), Nektar::FieldUtils::OutputTecplotBinary::OutputTecplotBinary(), PrintConfig(), Nektar::FieldUtils::ProcessDisplacement::Process(), Nektar::FieldUtils::OutputInfo::Process(), Nektar::FieldUtils::OutputXml::Process(), Nektar::FieldUtils::OutputStdOut::Process(), Nektar::FieldUtils::ProcessQualityMetric::Process(), Nektar::FieldUtils::OutputVtk::Process(), Nektar::FieldUtils::OutputFld::Process(), Nektar::FieldUtils::OutputPts::Process(), Nektar::FieldUtils::ProcessBoundaryExtract::Process(), Nektar::FieldUtils::ProcessInterpField::Process(), Nektar::FieldUtils::ProcessHomogeneousPlane::Process(), Nektar::FieldUtils::ProcessHomogeneousStretch::Process(), Nektar::FieldUtils::ProcessInnerProduct::Process(), Nektar::FieldUtils::ProcessAddFld::Process(), Nektar::FieldUtils::ProcessC0Projection::Process(), Nektar::FieldUtils::ProcessMultiShear::Process(), Nektar::FieldUtils::ProcessScaleInFld::Process(), Nektar::FieldUtils::ProcessScalGrad::Process(), Nektar::FieldUtils::ProcessSurfDistance::Process(), Nektar::FieldUtils::ProcessWSS::Process(), Nektar::FieldUtils::ProcessInterpPointDataToFld::Process(), Nektar::FieldUtils::ProcessInterpPoints::Process(), Nektar::FieldUtils::ProcessPointDataToFld::Process(), Nektar::FieldUtils::ProcessCombineAvg::Process(), Nektar::FieldUtils::OutputTecplot::Process(), Nektar::FieldUtils::ProcessIsoContour::Process(), Nektar::FieldUtils::ProcessAddFld::ProcessAddFld(), Nektar::FieldUtils::ProcessBoundaryExtract::ProcessBoundaryExtract(), Nektar::FieldUtils::ProcessC0Projection::ProcessC0Projection(), Nektar::FieldUtils::ProcessCombineAvg::ProcessCombineAvg(), Nektar::FieldUtils::ProcessDisplacement::ProcessDisplacement(), Nektar::FieldUtils::ProcessEquiSpacedOutput::ProcessEquiSpacedOutput(), Nektar::FieldUtils::ProcessHomogeneousPlane::ProcessHomogeneousPlane(), Nektar::FieldUtils::ProcessHomogeneousStretch::ProcessHomogeneousStretch(), Nektar::FieldUtils::ProcessInnerProduct::ProcessInnerProduct(), Nektar::FieldUtils::ProcessInterpField::ProcessInterpField(), Nektar::FieldUtils::ProcessInterpPointDataToFld::ProcessInterpPointDataToFld(), Nektar::FieldUtils::ProcessInterpPoints::ProcessInterpPoints(), Nektar::FieldUtils::ProcessIsoContour::ProcessIsoContour(), Nektar::FieldUtils::ProcessJacobianEnergy::ProcessJacobianEnergy(), Nektar::FieldUtils::ProcessMultiShear::ProcessMultiShear(), Nektar::FieldUtils::ProcessPointDataToFld::ProcessPointDataToFld(), Nektar::FieldUtils::ProcessQualityMetric::ProcessQualityMetric(), Nektar::FieldUtils::ProcessScaleInFld::ProcessScaleInFld(), Nektar::FieldUtils::ProcessScalGrad::ProcessScalGrad(), Nektar::FieldUtils::ProcessSurfDistance::ProcessSurfDistance(), Nektar::FieldUtils::ProcessWSS::ProcessWSS(), RegisterConfig(), SetDefaults(), Nektar::FieldUtils::ProcessEquiSpacedOutput::SetupEquiSpacedField(), Nektar::FieldUtils::OutputTecplotBinary::WriteDoubleOrFloat(), and Nektar::FieldUtils::OutputTecplotBinary::WriteTecplotZone().

FieldSharedPtr Nektar::FieldUtils::Module::m_f
protected

Field object.

Definition at line 167 of file FieldUtils/Module.h.

Referenced by Nektar::FieldUtils::InputModule::AddFile(), Nektar::FieldUtils::ProcessInterpPoints::calcCp0(), Nektar::FieldUtils::OutputTecplot::CalculateConnectivity(), Nektar::FieldUtils::ProcessIsoContour::ExtractContour(), Nektar::FieldUtils::ProcessEquiSpacedOutput::GenOrthoModes(), Nektar::FieldUtils::OutputTecplot::GetNumTecplotBlocks(), Nektar::FieldUtils::ProcessInterpPoints::InterpolateFieldToPts(), Nektar::FieldUtils::ProcessInnerProduct::IProduct(), Nektar::FieldUtils::InputModule::PrintSummary(), Nektar::FieldUtils::InputDat::Process(), Nektar::FieldUtils::InputFld::Process(), Nektar::FieldUtils::InputPts::Process(), Nektar::FieldUtils::InputXml::Process(), Nektar::FieldUtils::InputNek5000::Process(), Nektar::FieldUtils::ProcessDeform::Process(), Nektar::FieldUtils::ProcessDisplacement::Process(), Nektar::FieldUtils::OutputInfo::Process(), Nektar::FieldUtils::OutputXml::Process(), Nektar::FieldUtils::OutputStdOut::Process(), Nektar::FieldUtils::ProcessJacobianEnergy::Process(), Nektar::FieldUtils::ProcessQualityMetric::Process(), Nektar::FieldUtils::OutputFld::Process(), Nektar::FieldUtils::OutputVtk::Process(), Nektar::FieldUtils::OutputPts::Process(), Nektar::FieldUtils::ProcessBoundaryExtract::Process(), Nektar::FieldUtils::ProcessConcatenateFld::Process(), Nektar::FieldUtils::ProcessInterpField::Process(), Nektar::FieldUtils::ProcessNumModes::Process(), Nektar::FieldUtils::ProcessPrintFldNorms::Process(), Nektar::FieldUtils::ProcessVorticity::Process(), Nektar::FieldUtils::ProcessWSS::Process(), Nektar::FieldUtils::ProcessGrad::Process(), Nektar::FieldUtils::ProcessHomogeneousPlane::Process(), Nektar::FieldUtils::ProcessHomogeneousStretch::Process(), Nektar::FieldUtils::ProcessInnerProduct::Process(), Nektar::FieldUtils::ProcessQCriterion::Process(), Nektar::FieldUtils::ProcessAddCompositeID::Process(), Nektar::FieldUtils::ProcessAddFld::Process(), Nektar::FieldUtils::ProcessScalGrad::Process(), Nektar::FieldUtils::ProcessMeanMode::Process(), Nektar::FieldUtils::ProcessC0Projection::Process(), Nektar::FieldUtils::ProcessMultiShear::Process(), Nektar::FieldUtils::ProcessScaleInFld::Process(), Nektar::FieldUtils::ProcessSurfDistance::Process(), Nektar::FieldUtils::ProcessPointDataToFld::Process(), Nektar::FieldUtils::ProcessInterpPointDataToFld::Process(), Nektar::FieldUtils::ProcessCombineAvg::Process(), Nektar::FieldUtils::ProcessInterpPoints::Process(), Nektar::FieldUtils::ProcessMapping::Process(), Nektar::FieldUtils::OutputTecplot::Process(), Nektar::FieldUtils::ProcessIsoContour::Process(), Nektar::FieldUtils::ProcessMultiShear::ProcessMultiShear(), Nektar::FieldUtils::ProcessScalGrad::ProcessScalGrad(), Nektar::FieldUtils::ProcessSurfDistance::ProcessSurfDistance(), Nektar::FieldUtils::ProcessWSS::ProcessWSS(), Nektar::FieldUtils::ProcessIsoContour::ResetFieldPts(), Nektar::FieldUtils::ProcessEquiSpacedOutput::SetHomogeneousConnectivity(), Nektar::FieldUtils::ProcessEquiSpacedOutput::SetupEquiSpacedField(), Nektar::FieldUtils::ProcessIsoContour::SetupIsoFromFieldPts(), Nektar::FieldUtils::OutputTecplot::WriteTecplotConnectivity(), Nektar::FieldUtils::OutputTecplotBinary::WriteTecplotConnectivity(), Nektar::FieldUtils::OutputTecplotBinary::WriteTecplotHeader(), Nektar::FieldUtils::OutputTecplot::WriteTecplotZone(), and Nektar::FieldUtils::OutputTecplotBinary::WriteTecplotZone().

bool Nektar::FieldUtils::Module::m_requireEquiSpaced
protected