Skip to content

Commit

Permalink
Merge Pull Request #6518 from alanw0/Trilinos/stk_20191220
Browse files Browse the repository at this point in the history
Automatically Merged using Trilinos Pull Request AutoTester
PR Title: Stk 20191220
PR Author: alanw0
  • Loading branch information
trilinos-autotester authored Jan 3, 2020
2 parents 4b0fef0 + 725d6d8 commit c858b70
Show file tree
Hide file tree
Showing 126 changed files with 6,107 additions and 4,377 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,8 @@ void STK_ExodusReaderFactory::registerElementBlocks(STK_Interface & mesh,stk::io
const std::string & name = entity->name();

const stk::mesh::Part * part = femMetaData->get_part(name);
const CellTopologyData * ct = femMetaData->get_cell_topology(*part).getCellTopologyData();
shards::CellTopology cellTopo = stk::mesh::get_cell_topology(femMetaData->get_topology(*part));
const CellTopologyData * ct = cellTopo.getCellTopologyData();

TEUCHOS_ASSERT(ct!=0);
mesh.addElementBlock(part->name(),ct);
Expand Down Expand Up @@ -383,8 +384,8 @@ void STK_ExodusReaderFactory::registerSidesets(STK_Interface & mesh) const
for(partItr=parts.begin();partItr!=parts.end();++partItr) {
const stk::mesh::Part * part = *partItr;
const stk::mesh::PartVector & subsets = part->subsets();
// const CellTopologyData * ct = stk::mesh::get_cell_topology(*part).getCellTopologyData();
const CellTopologyData * ct = metaData->get_cell_topology(*part).getCellTopologyData();
shards::CellTopology cellTopo = stk::mesh::get_cell_topology(metaData->get_topology(*part));
const CellTopologyData * ct = cellTopo.getCellTopologyData();

// if a side part ==> this is a sideset: now storage is recursive
// on part contains all sub parts with consistent topology
Expand All @@ -395,8 +396,8 @@ void STK_ExodusReaderFactory::registerSidesets(STK_Interface & mesh) const

// grab cell topology and name of subset part
const stk::mesh::Part * ss_part = subsets[0];
// const CellTopologyData * ss_ct = stk::mesh::get_cell_topology(*ss_part).getCellTopologyData();
const CellTopologyData * ss_ct = metaData->get_cell_topology(*ss_part).getCellTopologyData();
shards::CellTopology ss_cellTopo = stk::mesh::get_cell_topology(metaData->get_topology(*ss_part));
const CellTopologyData * ss_ct = ss_cellTopo.getCellTopologyData();

// only add subset parts that have no topology
if(ss_ct!=0)
Expand All @@ -415,7 +416,8 @@ void STK_ExodusReaderFactory::registerNodesets(STK_Interface & mesh) const
stk::mesh::PartVector::const_iterator partItr;
for(partItr=parts.begin();partItr!=parts.end();++partItr) {
const stk::mesh::Part * part = *partItr;
const CellTopologyData * ct = metaData->get_cell_topology(*part).getCellTopologyData();
shards::CellTopology cellTopo = stk::mesh::get_cell_topology(metaData->get_topology(*part));
const CellTopologyData * ct = cellTopo.getCellTopologyData();

// if a side part ==> this is a sideset: now storage is recursive
// on part contains all sub parts with consistent topology
Expand Down
99 changes: 0 additions & 99 deletions packages/percept/src/adapt/Allocate.cpp

This file was deleted.

4 changes: 2 additions & 2 deletions packages/percept/src/adapt/main/RunAdaptRun.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -614,8 +614,8 @@ static void copy_error_indicator(PerceptMesh& eMesh_no_ft,PerceptMesh& eMesh,

ErrorFieldType * from_error_field =
&eMesh_error.get_fem_meta_data()->declare_field<ErrorFieldType>(stk::topology::ELEMENT_RANK, rar.m_error_indicator_field);
stk::mesh::FieldTraits<ErrorFieldType>::data_type* init_np = nullptr; // gcc 4.8 hack
stk::mesh::put_field_on_mesh( *from_error_field , eMesh_error.get_fem_meta_data()->universal_part(), 1, init_np);
stk::mesh::FieldTraits<ErrorFieldType>::data_type* init_np2 = nullptr; // gcc 4.8 hack
stk::mesh::put_field_on_mesh( *from_error_field , eMesh_error.get_fem_meta_data()->universal_part(), 1, init_np2);

eMesh_error.add_input_field(from_error_field);

Expand Down
46 changes: 0 additions & 46 deletions packages/percept/src/percept/SameRankRelation.hpp

This file was deleted.

9 changes: 6 additions & 3 deletions packages/percept/src/percept/eigen_verify/EigenVerify.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include <percept/function/FieldFunction.hpp>
#include <percept/norm/Norm.hpp>
#include <percept/FieldBLAS.hpp>
#include <percept/PerceptMesh.hpp>

namespace percept
{
Expand Down Expand Up @@ -82,12 +83,12 @@ void EigenVerify::create_fields(const int num_time_steps)
// allocate data for the eigenvectors (receiving)
xferFieldAll[m] = & (mesh_data[m]->meta_data().declare_field<stk::mesh::Field<double, stk::mesh::SimpleArrayTag, stk::mesh::Cartesian> >(stk::topology::NODE_RANK, xfer_field_name_all));

stk::mesh::FieldTraits<stk::mesh::Field<double>>::data_type* init_np = nullptr; // gcc 4.8 hack
stk::mesh::FieldTraits<stk::mesh::Field<double>>::data_type* init_np2 = nullptr; // gcc 4.8 hack
stk::mesh::put_field_on_mesh( *xferFieldAll[m],
mesh_data[m]->meta_data().universal_part(),
mesh_data[m]->meta_data().spatial_dimension(),
num_time_steps,
init_np);
init_np2);

// get eigenvector field
inputField[m] = mesh_data[m]->meta_data().get_field<stk::mesh::Field<double, stk::mesh::Cartesian> >(stk::topology::NODE_RANK, field_name);
Expand Down Expand Up @@ -309,7 +310,9 @@ void EigenVerify::run(int argc, char** argv)
FieldFunction errorFunc("error", errorField, &(mesh_data[1]->bulk_data()),
Dimensions(3), Dimensions(3));

Norm<2> norm(mesh_data[1]->bulk_data(), &mesh_data[1]->meta_data().universal_part());
stk::mesh::Selector element_selector = PerceptMesh::get_selector_of_rank(mesh_data[1]->meta_data(), stk::topology::ELEMENT_RANK);

Norm<2> norm(mesh_data[1]->bulk_data(), &element_selector);
ConstantFunction result(0.0, "result");

// TODO add as global var to Exo output
Expand Down
9 changes: 3 additions & 6 deletions packages/percept/src/percept/fixtures/QuadFixture.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,6 @@
// typedef Topology QuadOrTriTopo ;
enum { NodesPerElem = stk::topology_detail::topology_data<Topology>::num_nodes };

typedef stk::mesh::Field<Scalar, stk::mesh::Cartesian> CoordFieldType;
typedef stk::mesh::Field<Scalar*,stk::mesh::ElementNode> CoordGatherFieldType;

static std::vector<std::string> get_entity_rank_names(unsigned dim)
{
std::vector<std::string> names = stk::mesh::entity_rank_names();
Expand All @@ -89,7 +86,7 @@
: meta_data(2, get_entity_rank_names(2) ),
bulk_data( meta_data, pm ),
quad_part( meta_data.declare_part("block_1", stk::topology::ELEMENT_RANK ) ),
coord_field( meta_data.declare_field<CoordFieldType>(stk::topology::NODE_RANK, "coordinates") ),
coord_field( meta_data.declare_field<CoordinatesFieldType>(stk::topology::NODE_RANK, "coordinates") ),
NX( nx ),
NY( ny ),
generate_sidesets(generate_sidesets_in),
Expand All @@ -104,7 +101,7 @@
stk::io::put_io_part_attribute(quad_part);

//put coord-field on all nodes:
stk::mesh::FieldTraits<CoordFieldType>::data_type* init_np = nullptr; // gcc 4.8 hack
stk::mesh::FieldTraits<CoordinatesFieldType>::data_type* init_np = nullptr; // gcc 4.8 hack
put_field_on_mesh(
coord_field,
meta_data.universal_part(),
Expand Down Expand Up @@ -307,7 +304,7 @@
stk::mesh::MetaData meta_data ;
stk::mesh::BulkData bulk_data ;
stk::mesh::Part & quad_part ;
CoordFieldType & coord_field ;
CoordinatesFieldType & coord_field ;
const unsigned NX ;
const unsigned NY ;
stk::mesh::Part *side_parts[4];
Expand Down
17 changes: 0 additions & 17 deletions packages/percept/src/percept/fixtures/WedgeFixture.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,7 @@

// line2 mesh
SweepMesher& tp2 = m_sweepMesher;
//tp2 = SweepMesher();

//tp2.initNodes(coordsLine.begin(), n_nodes_x);
tp2.initNodes(&coordsLine[0], n_nodes_x);
tp2.initElems(shards_Line_2, &line2Elems[0], n_nodes_x - 1);
if(verbose) std::cout << "line2 mesh\n";
Expand All @@ -91,15 +89,11 @@

SweepMesher quadMeshCopy;
quadMeshCopy.CopyFromBasicMesh(tp2);
//tp2.stkMeshCreate(parallel_machine);
//tp2.writeSTKMesh("wedge-quad-0.e");

// break all of the quads into tris
tp2.breakAllElements<shards_Quadrilateral_4, shards_Triangle_3>();
if(verbose) std::cout << "after break quad to tri\n";
tp2.dump(verbose);
//tp2.stkMeshCreate(parallel_machine);
//tp2.writeSTKMesh("tp2-quad-tri.e");

// sweep again to make a wedge mesh
std::array<double, 3> dir1 = {{0,0,(zmax-zmin)/double(n_nodes_z - 1)}};
Expand All @@ -126,12 +120,10 @@

stk::mesh::MetaData *getMetaData() { return m_sweepMesher.getMetaData() ; }

//stk::mesh::BulkData*
void
createBulkAfterMetaCommit(stk::ParallelMachine parallel_machine)
{
m_sweepMesher.stkMeshCreateBulkAfterMetaCommit(parallel_machine);
//return m_sweepMesher.get_bulk_data();
}

void createFixedSizeMesh(stk::ParallelMachine parallel_machine, std::string output_filename)
Expand All @@ -142,10 +134,6 @@
{{0,0,0}}, {{1,0,0}}, {{2,0,0}}, {{3,0,0}}, {{4,0,0}}
};

// double coordsCPP[][3] = {
// {0,0,0}, {1,0,0}, {2,2,0}, {0,3,0},
// {0,0,1}, {1,0,1}, {2,2,1}, {0,3,1}
// };
unsigned numNodesLine = sizeof(coordsLine)/sizeof(coordsLine[0]);

unsigned line2Elems[] = {
Expand Down Expand Up @@ -183,17 +171,12 @@

SweepMesher quadMeshCopy;
quadMeshCopy.CopyFromBasicMesh(tp2);
//tp2.stkMeshCreate(parallel_machine);
//tp2.writeSTKMesh("wedge-quad-0.e");

// break all of the quads into tris
tp2.breakAllElements<shards_Quadrilateral_4, shards_Triangle_3>();
//verbose=true;
if(verbose) std::cout << "after break quad to tri\n";
tp2.dump(verbose);
tp2.dump();
//tp2.stkMeshCreate(parallel_machine);
//tp2.writeSTKMesh("tp2-quad-tri.e");

// sweep again to make a wedge mesh
std::array<double, 3> dir1 = {{0,0,2.345}};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@
const CellTopologyData * const cell_topo_data = stk::mesh::get_cell_topology(mybucket(bulkData, bucket_or_element).topology()).getCellTopologyData();
CellTopology cell_topo(cell_topo_data);

if (cell_topo_data->key == shards::Particle::key ||
cell_topo_data->key == shards::Beam<2>::key)
return false;

int cell_dimension = cell_topo.getDimension();
int meta_dimension = stk::mesh::MetaData::get(bulkData).spatial_dimension();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
if (EXTRA_PRINT) std::cout << "STKSearcher::findElement: nboxes= " << m_boxes.size() << std::endl;

IdentProcRelation relation;
stk::search::coarse_search(points, m_boxes, stk::search::BOOST_RTREE, bulkData.parallel(), relation);
stk::search::coarse_search(points, m_boxes, stk::search::KDTREE, bulkData.parallel(), relation);

if (EXTRA_PRINT) std::cout << "STKSearcher::findElement: found " << relation.size() << " containing bboxes" << std::endl;

Expand Down
Loading

0 comments on commit c858b70

Please sign in to comment.