Files
IFEM/Apps/Common/SIMMultiPatchModelGen.h
Knut Morten Okstad 2f3f44ec63 Fixed: Must propagate the checkRHS flag through the SIMMultiPatchGen template too,
in case used for apps which had this option available (backward compatibility).
Also fixed a spell error in the doxy.
2017-04-22 16:54:14 +02:00

52 lines
1.5 KiB
C++

// $Id$
//==============================================================================
//!
//! \file SIMMultiPatchModelGen.h
//!
//! \date Sep 5 2016
//!
//! \author Arne Morten Kvarving / SINTEF
//!
//! \brief Base class for simulators equipped with multi-patch model generators.
//!
//==============================================================================
#ifndef _SIM_MULTI_PATCH_MODEL_GEN_H_
#define _SIM_MULTI_PATCH_MODEL_GEN_H_
#include <vector>
class ModelGenerator;
class TiXmlElement;
/*!
\brief Inherit this class to equip your SIM with multi-patch model generators.
*/
template<class Dim>
class SIMMultiPatchModelGen : public Dim
{
public:
//! \brief Constructor for standard problems.
//! \param[in] n1 Dimension of the primary solution field
//! \param[in] checkRHS If \e true, ensure the model is in a right-hand system
SIMMultiPatchModelGen(int n1, bool checkRHS = false) : Dim(n1,checkRHS) {}
//! \brief Constructor for mixed problems.
//! \param[in] unf Dimension of the primary solution field
//! \param[in] checkRHS If \e true, ensure the model is in a right-hand system
SIMMultiPatchModelGen(const std::vector<unsigned char>& unf,
bool checkRHS = false) : Dim(unf,checkRHS) {}
//! \brief Empty destructor.
virtual ~SIMMultiPatchModelGen() {}
protected:
//! \brief Instantiates a FEM model generator for a multi-patch model.
//! \param[in] geo XML element containing geometry definition
virtual ModelGenerator* getModelGenerator(const TiXmlElement* geo) const;
};
#endif