24 #define USE_STD_INCLUDES 1
25 #define USE_C_PREFIX_INCLUDES 1
27 #include "MeshImpl.hpp"
28 #include "MesquiteError.hpp"
29 #include "InstructionQueue.hpp"
30 #include "MeshSet.hpp"
31 #include "TerminationCriterion.hpp"
32 #include "QualityAssessor.hpp"
33 #include "PlanarDomain.hpp"
34 #include "ShapeImprovementWrapper.hpp"
37 #include "MeanRatioQualityMetric.hpp"
38 #include "EdgeLengthQualityMetric.hpp"
39 #include "LPtoPTemplate.hpp"
40 #include "FeasibleNewton.hpp"
41 #include "ConjugateGradient.hpp"
42 #include "MsqMessage.hpp"
45 using namespace Mesquite;
61 std::cout <<
" Entering Rocmop::smooth_vol_mesq_wg" << std::endl;
63 std::vector<COM::Pane*> allpanes;
64 _wrk_window->panes(allpanes);
68 double pre_worst = initial_quality, post_worst = 180.0;
69 double pre_worst_all = 180.0;
70 double post_worst_all = 0.0;
76 for(
int i=0; (
i<_ncycle && to_cycle); ++
i){
78 std::cout <<
" Subcycle " <<
i << std::endl;
81 smooth_mesquite(allpanes,1);
90 pre_worst = check_marked_elem_quality(_is_shared_elem,allpanes);
93 std::cout <<
" Updating shared and ghost node positions.\n";
105 post_worst = check_marked_elem_quality(_is_shared_elem,allpanes);
106 if(pre_worst/post_worst > _ctol)
113 std::cout <<
" Exiting Rocmop::smooth_vol_mesq_wg" << std::endl;
here we put it at the!beginning of the common block The point to point and collective!routines know about but MPI_TYPE_STRUCT as yet does not!MPI_STATUS_IGNORE and MPI_STATUSES_IGNORE are similar objects!Until the underlying MPI library implements the C version of these are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_MAX
Contains the prototypes for the Pane object.
This file contains the prototypes for Roccom API.
3D geometric quality Metric declarations.
void smooth_vol_mesq_wg()
Smooth a volume via Mesquite using ghost information.
#define MOP_END_NAMESPACE
Definition for Rocblas API.
static void update_ghosts(COM::Attribute *att, const COM::Attribute *pconn=NULL)
Update ghost nodal or elemental values for the given attribute.
static void reduce_average_on_shared_nodes(COM::Attribute *att, COM::Attribute *pconn=NULL)
Perform an average-reduction on the shared nodes for the given attribute.
#define MOP_BEGIN_NAMESPACE