MOAB: Mesh Oriented datABase
(version 5.5.0)
|
#include <sys/resource.h>
#include <cstdlib>
#include <cstdio>
#include <cassert>
#include <iostream>
#include "moab/Core.hpp"
#include "moab/ReadUtilIface.hpp"
#include "VertexSequence.hpp"
#include "StructuredElementSeq.hpp"
#include "EntitySequence.hpp"
#include "SequenceManager.hpp"
#include "moab/HomXform.hpp"
#include "moab/SetIterator.hpp"
Go to the source code of this file.
Macros | |
#define | IS_BUILDING_MB |
#define | RC(msg) |
#define | RR(msg) |
#define | VINDEX(i, j, k) ( ( i ) + ( (j)*numv ) + ( (k)*numv_sq ) ) |
Functions | |
void | testA (const int nelem, const double *coords) |
void | testB (const int nelem, const double *coords, int *connect) |
void | testC (const int nelem, const double *coords) |
void | testD (const int nelem, const double *coords, int ver) |
void | testE (const int nelem, const double *coords, int *connect) |
void | print_time (const bool print_em, double &tot_time, double &utime, double &stime, long &imem, long &rmem) |
void | query_vert_to_elem () |
void | query_elem_to_vert () |
void | query_struct_elem_to_vert () |
void | query_elem_to_vert_direct () |
void | query_vert_to_elem_direct () |
ErrorCode | normalize_elems (double *coords) |
void | check_answers (const char *) |
void | compute_edge (double *start, const int nelem, const double xint, const int stride) |
void | compute_face (double *a, const int nelem, const double xint, const int stride1, const int stride2) |
void | build_coords (const int nelem, double *&coords) |
void | build_connect (const int nelem, const EntityHandle, int *&connect) |
void | init () |
int | main (int argc, char *argv[]) |
void | query_elem_to_vert_iters (int chunk_size, bool check_valid, std::vector< EntityHandle > &connect, double *dum_coords, double *dum_pos) |
void | query_vert_to_elem_iters (int chunk_size, bool check_valid, std::vector< EntityHandle > &, double *dum_coords, double *dum_pos) |
Variables | |
double | LENGTH = 1.0 |
Interface * | gMB |
Tag | pos_tag |
Tag | pos2_tag |
#define IS_BUILDING_MB |
MOAB, a Mesh-Oriented datABase, is a software component for creating, storing and accessing finite element mesh data.
Copyright 2004 Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
#define RC | ( | msg | ) |
#define RR | ( | msg | ) |
#define VINDEX | ( | i, | |
j, | |||
k | |||
) | ( ( i ) + ( (j)*numv ) + ( (k)*numv_sq ) ) |
void build_connect | ( | const int | nelem, |
const | EntityHandle, | ||
int *& | connect | ||
) |
void build_coords | ( | const int | nelem, |
double *& | coords | ||
) |
Definition at line 125 of file perf.cpp.
References compute_edge(), compute_face(), LENGTH, print_time(), and VINDEX.
Referenced by main().
void check_answers | ( | const char * | ) |
Definition at line 1230 of file perf.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::Interface::get_entities_by_type(), gMB, MBHEX, pos2_tag, pos_tag, RC, and moab::Interface::tag_get_data().
Referenced by testA(), testB(), testC(), testD(), and testE().
void compute_edge | ( | double * | start, |
const int | nelem, | ||
const double | xint, | ||
const int | stride | ||
) |
void compute_face | ( | double * | a, |
const int | nelem, | ||
const double | xint, | ||
const int | stride1, | ||
const int | stride2 | ||
) |
Definition at line 90 of file perf.cpp.
Referenced by build_coords().
void init | ( | ) |
Definition at line 302 of file perf.cpp.
References ErrorCode, gMB, MB_SUCCESS, MB_TAG_CREAT, MB_TAG_DENSE, MB_TYPE_DOUBLE, pos2_tag, pos_tag, and moab::Interface::tag_get_handle().
Referenced by do_kdtree_test(), do_linear_test(), FBiGeom_getArrBoundBox(), regression_insert_set_1(), moab::SpectralQuad::reverseEvalFcn(), moab::Core::tag_iterate(), test_optional_arg(), testA(), testB(), testC(), testD(), and testE().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 316 of file perf.cpp.
References build_connect(), build_coords(), testA(), testB(), testC(), testD(), and testE().
ErrorCode normalize_elems | ( | double * | coords | ) |
Definition at line 526 of file perf.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::Interface::get_entities_by_type(), gMB, MBHEX, pos2_tag, RR, moab::Interface::tag_get_data(), and moab::Interface::tag_set_data().
Referenced by query_vert_to_elem(), and query_vert_to_elem_iters().
void print_time | ( | const bool | print_em, |
double & | tot_time, | ||
double & | utime, | ||
double & | stime, | ||
long & | imem, | ||
long & | rmem | ||
) |
void query_elem_to_vert | ( | ) |
Definition at line 375 of file perf.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::Interface::get_connectivity(), moab::Interface::get_coords(), moab::Interface::get_entities_by_type(), gMB, MBHEX, pos_tag, RC, and moab::Interface::tag_set_data().
void query_elem_to_vert_direct | ( | ) |
Definition at line 1115 of file perf.cpp.
References moab::Range::begin(), moab::Interface::connect_iterate(), moab::Interface::coords_iterate(), moab::Range::end(), ErrorCode, moab::Interface::get_entities_by_type(), gMB, MB_SUCCESS, MBHEX, MBVERTEX, pos_tag, RC, moab::Range::size(), and moab::Interface::tag_iterate().
Referenced by testE().
void query_elem_to_vert_iters | ( | int | chunk_size, |
bool | check_valid, | ||
std::vector< EntityHandle > & | connect, | ||
double * | dum_coords, | ||
double * | dum_pos | ||
) |
Definition at line 441 of file perf.cpp.
References moab::Interface::create_set_iterator(), ErrorCode, moab::Interface::get_connectivity(), moab::Interface::get_coords(), moab::SetIterator::get_next_arr(), gMB, MBHEX, pos_tag, RC, moab::Interface::tag_get_data(), and moab::Interface::tag_set_data().
Referenced by testD().
void query_struct_elem_to_vert | ( | ) |
Definition at line 547 of file perf.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::Interface::get_connectivity(), moab::Interface::get_coords(), moab::Interface::get_entities_by_type(), gMB, MBHEX, pos_tag, RC, and moab::Interface::tag_set_data().
Referenced by testA().
void query_vert_to_elem | ( | ) |
Definition at line 406 of file perf.cpp.
References moab::Range::begin(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_coords(), moab::Interface::get_entities_by_type(), gMB, MBVERTEX, normalize_elems(), pos2_tag, RC, moab::Interface::tag_get_data(), and moab::Interface::tag_set_data().
void query_vert_to_elem_direct | ( | ) |
Definition at line 1166 of file perf.cpp.
References moab::Interface::adjacencies_iterate(), moab::Range::begin(), moab::Range::clear(), moab::Interface::coords_iterate(), moab::Range::end(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_entities_by_type(), gMB, MB_SUCCESS, MBHEX, MBVERTEX, pos2_tag, moab::Range::size(), and moab::Interface::tag_iterate().
Referenced by testE().
void query_vert_to_elem_iters | ( | int | chunk_size, |
bool | check_valid, | ||
std::vector< EntityHandle > & | , | ||
double * | dum_coords, | ||
double * | dum_pos | ||
) |
Definition at line 483 of file perf.cpp.
References moab::Interface::create_set_iterator(), ErrorCode, moab::Interface::get_adjacencies(), moab::Interface::get_coords(), moab::SetIterator::get_next_arr(), gMB, MB_SUCCESS, MBVERTEX, normalize_elems(), pos2_tag, RC, moab::Interface::tag_get_data(), and moab::Interface::tag_set_data().
Referenced by testD().
void testA | ( | const int | nelem, |
const double * | coords | ||
) |
Definition at line 611 of file perf.cpp.
References moab::ScdElementData::add_vsequence(), check_answers(), moab::SequenceManager::create_scd_sequence(), moab::EntitySequence::data(), ErrorCode, gMB, init(), MB_SUCCESS, mbcore, MBHEX, MBVERTEX, print_time(), query_struct_elem_to_vert(), query_vert_to_elem(), RC, moab::StructuredElementSeq::sdata(), moab::Core::sequence_manager(), and moab::Interface::set_coords().
Referenced by main().
void testB | ( | const int | nelem, |
const double * | coords, | ||
int * | connect | ||
) |
Definition at line 684 of file perf.cpp.
References check_answers(), ErrorCode, moab::ReadUtilIface::get_element_connect(), moab::ReadUtilIface::get_node_coords(), gMB, init(), MB_SUCCESS, MBHEX, print_time(), query_elem_to_vert(), moab::Interface::query_interface(), query_vert_to_elem(), RC, and moab::ReadUtilIface::update_adjacencies().
Referenced by main().
void testC | ( | const int | nelem, |
const double * | coords | ||
) |
Definition at line 748 of file perf.cpp.
References check_answers(), moab::Interface::create_element(), moab::Interface::create_vertex(), ErrorCode, gMB, init(), MB_SUCCESS, MBHEX, print_time(), query_elem_to_vert(), query_vert_to_elem(), RC, and VINDEX.
Referenced by main().
void testD | ( | const int | nelem, |
const double * | coords, | ||
int | ver | ||
) |
Definition at line 827 of file perf.cpp.
References check_answers(), moab::Interface::create_element(), moab::Interface::create_vertex(), ErrorCode, gMB, init(), MB_SUCCESS, MB_TAG_CREAT, MB_TAG_DENSE, MB_TYPE_DOUBLE, MBHEX, pos2_tag, pos_tag, print_time(), query_elem_to_vert_iters(), query_vert_to_elem_iters(), RC, moab::Interface::tag_delete(), moab::Interface::tag_get_handle(), and VINDEX.
Referenced by main().
void testE | ( | const int | nelem, |
const double * | coords, | ||
int * | connect | ||
) |
Definition at line 1029 of file perf.cpp.
References check_answers(), ErrorCode, moab::ReadUtilIface::get_element_connect(), moab::ReadUtilIface::get_node_coords(), gMB, init(), MB_SUCCESS, MBHEX, print_time(), query_elem_to_vert_direct(), moab::Interface::query_interface(), query_vert_to_elem_direct(), RC, and moab::ReadUtilIface::update_adjacencies().
Referenced by main().
Interface* gMB |
Definition at line 299 of file perf.cpp.
Referenced by check_answers(), init(), normalize_elems(), query_elem_to_vert(), query_elem_to_vert_direct(), query_elem_to_vert_iters(), query_struct_elem_to_vert(), query_vert_to_elem(), query_vert_to_elem_direct(), query_vert_to_elem_iters(), testA(), testB(), testC(), testD(), and testE().
double LENGTH = 1.0 |
Definition at line 51 of file perf.cpp.
Referenced by build_coords().
Tag pos2_tag |
Definition at line 300 of file perf.cpp.
Referenced by check_answers(), init(), normalize_elems(), query_vert_to_elem(), query_vert_to_elem_direct(), query_vert_to_elem_iters(), and testD().
Tag pos_tag |
Definition at line 300 of file perf.cpp.
Referenced by check_answers(), init(), query_elem_to_vert(), query_elem_to_vert_direct(), query_elem_to_vert_iters(), query_struct_elem_to_vert(), and testD().