Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
smooth_mesquite_1.C
Go to the documentation of this file.
1 /* *******************************************************************
2  * Rocstar Simulation Suite *
3  * Copyright@2015, Illinois Rocstar LLC. All rights reserved. *
4  * *
5  * Illinois Rocstar LLC *
6  * Champaign, IL *
7  * www.illinoisrocstar.com *
8  * sales@illinoisrocstar.com *
9  * *
10  * License: See LICENSE file in top level of distribution package or *
11  * http://opensource.org/licenses/NCSA *
12  *********************************************************************/
13 /* *******************************************************************
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
15  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
16  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
17  * NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
20  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
21  * USE OR OTHER DEALINGS WITH THE SOFTWARE. *
22  *********************************************************************/
23 #ifdef MESQUITE
24 #define USE_STD_INCLUDES 1
25 #define USE_C_PREFIX_INCLUDES 1
26 #include "Mesquite.hpp"
27 #include "MeshImpl.hpp"
28 #include "MsqError.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"
35 
36 // algorithms
37 #include "MeanRatioFunctions.hpp"
38 #include "EdgeLengthQualityMetric.hpp"
39 #include "LPtoPTemplate.hpp"
40 #include "FeasibleNewton.hpp"
41 #include "ConjugateGradient.hpp"
42 #include "MesqPane_95.h"
43 
44 using namespace Mesquite;
45 #endif
46 
47 #include "Rocmop_1.h"
48 #include "roccom.h"
49 #include "Pane.h"
50 #include "Rocblas.h"
51 #include "Rocmap.h"
52 #include "Geometric_Metrics_3.h"
53 
55 
56 using MAP::Rocmap;
57 
59 
60  print_legible(1," Entering Rocmop::smooth_vol_mesq_wg");
61 
62  print_legible(2," Updating ghost node positions.");
63  Rocmap::update_ghosts(_buf_window->attribute(COM::COM_NC),
64  _buf_window->attribute(COM::COM_PCONN));
65 
66  std::vector<COM::Pane*> allpanes;
67  _buf_window->panes(allpanes);
68 
69  // smooth the panes via MESQUITE with ghosts.
70  smooth_mesquite(allpanes,1);
71 
72  print_legible(2," Updating shared and ghost node positions.");
73  Rocmap::reduce_average_on_shared_nodes(_buf_window->attribute(COM::COM_NC));
74  Rocmap::update_ghosts(_buf_window->attribute(COM::COM_NC),
75  _buf_window->attribute(COM::COM_PCONN));
76 
77  print_legible(1," Exiting Rocmop::smooth_vol_mesq_wg");
78 }
79 
81 
82 
83 
84 
85 
86 
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: mopbasic.h:29
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.
Definition: Rocmap.C:87
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.
Definition: Rocmap.C:57
#define MOP_BEGIN_NAMESPACE
Definition: mopbasic.h:28