#include <iostream>
#include <sstream>
#include "moab/Core.hpp"
#include "moab/Skinner.hpp"
#include "moab/CN.hpp"
#include "moab/ProgOptions.hpp"
#include "moab/CartVect.hpp"
#include "moab/NestedRefine.hpp"
#include "moab/VerdictWrapper.hpp"
#include "matrix.h"
Go to the source code of this file.
Macros | |
#define | WRITE_DEBUG_FILES |
#define | RC MB_CHK_ERR( rval ) |
#define | dbgprint(MSG) |
Functions | |
ErrorCode | perform_laplacian_smoothing (Core *mb, Range &cells, Range &verts, int dim, Tag fixed, bool use_hc=false, bool use_acc=false, int acc_method=1, int num_its=10, double rel_eps=1e-5, double alpha=0.0, double beta=0.5, int report_its=1) |
ErrorCode | hcFilter (Core *mb, moab::ParallelComm *pcomm, moab::Range &verts, int dim, Tag fixed, std::vector< double > &verts_o, std::vector< double > &verts_n, double alpha, double beta) |
ErrorCode | laplacianFilter (Core *mb, moab::ParallelComm *pcomm, moab::Range &verts, int dim, Tag fixed, std::vector< double > &verts_o, std::vector< double > &verts_n, bool use_updated=true) |
int | main (int argc, char **argv) |
Variables | |
string | test_file_name = string( "input/surfrandomtris-4part.h5m" ) |
#define dbgprint | ( | MSG | ) |
Definition at line 50 of file LaplacianSmoother.cpp.
#define RC MB_CHK_ERR( rval ) |
Definition at line 49 of file LaplacianSmoother.cpp.
#define WRITE_DEBUG_FILES |
Definition at line 41 of file LaplacianSmoother.cpp.
ErrorCode hcFilter | ( | Core * | mb, |
moab::ParallelComm * | pcomm, | ||
moab::Range & | verts, | ||
int | dim, | ||
Tag | fixed, | ||
std::vector< double > & | verts_o, | ||
std::vector< double > & | verts_n, | ||
double | alpha, | ||
double | beta | ||
) |
Definition at line 717 of file LaplacianSmoother.cpp.
References moab::Range::begin(), dim, moab::Range::end(), moab::Range::erase(), ErrorCode, moab::ParallelComm::filter_pstatus(), moab::Core::get_adjacencies(), moab::Core::get_connectivity(), moab::Range::index(), laplacianFilter(), mb, MB_SUCCESS, PSTATUS_NOT, PSTATUS_NOT_OWNED, RC, moab::Range::size(), moab::ParallelComm::size(), and moab::Core::tag_get_data().
Referenced by perform_laplacian_smoothing().
ErrorCode laplacianFilter | ( | Core * | mb, |
moab::ParallelComm * | pcomm, | ||
moab::Range & | verts, | ||
int | dim, | ||
Tag | fixed, | ||
std::vector< double > & | verts_o, | ||
std::vector< double > & | verts_n, | ||
bool | use_updated = true |
||
) |
Definition at line 632 of file LaplacianSmoother.cpp.
References moab::Range::begin(), dim, moab::Range::end(), moab::Range::erase(), ErrorCode, moab::ParallelComm::filter_pstatus(), moab::Core::get_adjacencies(), moab::Core::get_connectivity(), moab::Range::index(), mb, MB_SUCCESS, PSTATUS_NOT, PSTATUS_NOT_OWNED, RC, moab::Range::size(), moab::ParallelComm::size(), and moab::Core::tag_get_data().
Referenced by hcFilter(), and perform_laplacian_smoothing().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 89 of file LaplacianSmoother.cpp.
References ProgOptions::addOpt(), moab::Core::create_meshset(), dbgprint, ErrorCode, moab::NestedRefine::exchange_ghosts(), moab::ParallelComm::exchange_tags(), moab::Skinner::find_skin(), moab::NestedRefine::generate_mesh_hierarchy(), moab::Core::get_entities_by_dimension(), moab::Core::get_entities_by_type(), moab::Core::load_file(), mb, MB_TAG_CREAT, MB_TAG_DENSE, MB_TYPE_INTEGER, MBVERTEX, MESHSET_SET, ProgOptions::parseCommandLine(), perform_laplacian_smoothing(), RC, moab::Range::size(), moab::ParallelComm::size(), moab::Core::tag_delete(), moab::Core::tag_get_handle(), moab::Core::tag_set_data(), test_file_name, and moab::Core::write_file().
ErrorCode perform_laplacian_smoothing | ( | Core * | mb, |
Range & | cells, | ||
Range & | verts, | ||
int | dim, | ||
Tag | fixed, | ||
bool | use_hc = false , |
||
bool | use_acc = false , |
||
int | acc_method = 1 , |
||
int | num_its = 10 , |
||
double | rel_eps = 1e-5 , |
||
double | alpha = 0.0 , |
||
double | beta = 0.5 , |
||
int | report_its = 1 |
||
) |
Definition at line 259 of file LaplacianSmoother.cpp.
References moab::Range::begin(), moab::ParallelComm::comm(), dbgprint, dim, moab::Range::empty(), moab::Range::end(), ErrorCode, moab::ParallelComm::exchange_tags(), moab::ParallelComm::filter_pstatus(), moab::Core::get_connectivity(), moab::Core::get_coords(), moab::ParallelComm::get_pcomm(), moab::ParallelComm::get_shared_entities(), hcFilter(), moab::Core::id_from_handle(), moab::Range::insert(), laplacianFilter(), length(), moab::CartVect::length_squared(), mb, MB_CHK_ERR, moab::MB_SHAPE, MB_SUCCESS, MB_TAG_CREAT, MB_TAG_DENSE, MB_TYPE_DOUBLE, PSTATUS_NOT, PSTATUS_NOT_OWNED, moab::VerdictWrapper::quality_measure(), moab::ParallelComm::rank(), RC, moab::CartVect::scale(), moab::Core::set_coords(), moab::VerdictWrapper::set_size(), moab::Range::size(), moab::ParallelComm::size(), moab::Core::tag_get_data(), moab::Core::tag_get_handle(), moab::Core::tag_set_data(), moab::Core::type_from_handle(), and moab::Core::write_file().
Referenced by main().
string test_file_name = string( "input/surfrandomtris-4part.h5m" ) |
Definition at line 46 of file LaplacianSmoother.cpp.
Referenced by main().