00001 //*****************************************************************// 00002 // Albany 2.0: Copyright 2012 Sandia Corporation // 00003 // This Software is released under the BSD license detailed // 00004 // in the file "license.txt" in the top-level Albany directory // 00005 //*****************************************************************// 00006 00007 #ifndef AADAPT_STKUNIFSIZEFIELD_HPP 00008 #define AADAPT_STKUNIFSIZEFIELD_HPP 00009 00010 #include <stk_percept/PerceptMesh.hpp> 00011 #include <stk_percept/function/ElementOp.hpp> 00012 00013 namespace AAdapt { 00014 00015 class STKUnifRefineField : public stk::percept::ElementOp { 00016 00017 public: 00018 00019 STKUnifRefineField(stk::percept::PerceptMesh& eMesh) : m_eMesh(eMesh) { 00020 } 00021 00022 virtual bool operator()(const stk::mesh::Entity& element, 00023 stk::mesh::FieldBase* field, const stk::mesh::BulkData& bulkData); 00024 virtual void init_elementOp() {} 00025 virtual void fini_elementOp() {} 00026 00027 private: 00028 stk::percept::PerceptMesh& m_eMesh; 00029 }; 00030 00031 class STKUnifUnrefineField : public stk::percept::ElementOp { 00032 00033 public: 00034 00035 STKUnifUnrefineField(stk::percept::PerceptMesh& eMesh) : m_eMesh(eMesh) { 00036 } 00037 00038 virtual bool operator()(const stk::mesh::Entity& element, 00039 stk::mesh::FieldBase* field, const stk::mesh::BulkData& bulkData); 00040 virtual void init_elementOp() {} 00041 virtual void fini_elementOp() {} 00042 00043 private: 00044 stk::percept::PerceptMesh& m_eMesh; 00045 }; 00046 00047 } 00048 00049 #endif 00050