Files
IFEM/Apps/Common/SIMMultiPatchModelGen.C

51 lines
1.5 KiB
C++
Raw Normal View History

// $Id$
//==============================================================================
//!
//! \file SIMMultiPatchModelGen.C
//!
//! \date Sep 5 2016
//!
//! \author Arne Morten Kvarving / SINTEF
//!
//! \brief Base class for simulators equipped with multi-patch model generators.
//!
//==============================================================================
#include "ModelGenerator.h"
#include "SIMMultiPatchModelGen.h"
#include "MultiPatchModelGenerator.h"
#include "SIM1D.h"
#include "SIM2D.h"
#include "SIM3D.h"
#include "IFEM.h"
2018-02-01 10:06:09 +01:00
//! \brief Template specialization for 1D.
//! \param[in] geo XML element containing geometry definition
template<>
ModelGenerator* SIMMultiPatchModelGen<SIM1D>::getModelGenerator(const TiXmlElement* geo) const
{
IFEM::cout <<" Using 1D multi-patch model generator."<< std::endl;
return new MultiPatchModelGenerator1D(geo);
}
2018-02-01 10:06:09 +01:00
//! \brief Template specialization for 2D.
//! \param[in] geo XML element containing geometry definition
template<>
ModelGenerator* SIMMultiPatchModelGen<SIM2D>::getModelGenerator(const TiXmlElement* geo) const
{
IFEM::cout <<" Using 2D multi-patch model generator."<< std::endl;
return new MultiPatchModelGenerator2D(geo);
}
2018-02-01 10:06:09 +01:00
//! \brief Template specialization for 3D.
//! \param[in] geo XML element containing geometry definition
template<>
ModelGenerator* SIMMultiPatchModelGen<SIM3D>::getModelGenerator(const TiXmlElement* geo) const
{
IFEM::cout <<" Using 3D multi-patch model generator."<< std::endl;
return new MultiPatchModelGenerator3D(geo);
}