Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Rocmap.h
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 // $Id: Rocmap.h,v 1.20 2009/08/27 14:04:49 mtcampbe Exp $
24 
27 /*
28  * Las Modified: Dec. 13, 2002
29  */
30 
31 #ifndef __ROCMAP_H_
32 #define __ROCMAP_H_
33 
34 #include "mapbasic.h"
35 #include "roccom_devel.h"
36 
38 
39 class Rocmap {
40 public:
41  Rocmap() {}
42 
44  static void load( const std::string &mname);
46  static void unload( const std::string &mname);
47 
52  static void compute_pconn( const COM::Attribute *mesh,
53  COM::Attribute *pconn);
54 
58  static void pane_border_nodes( const COM::Attribute *mesh,
59  COM::Attribute *isborder,
60  int *ghost_level=NULL);
61 
63  static void size_of_cpanes( const COM::Attribute *pconn, const int *pane_id,
64  int *npanes_total, int *npanes_ghost=NULL);
65 
67  static void reduce_average_on_shared_nodes(COM::Attribute *att, COM::Attribute *pconn=NULL);
68 
70  static void reduce_maxabs_on_shared_nodes(COM::Attribute *att, COM::Attribute *pconn=NULL);
71 
73  static void reduce_minabs_on_shared_nodes(COM::Attribute *att, COM::Attribute *pconn=NULL);
74 
76  static void update_ghosts(COM::Attribute *att,
77  const COM::Attribute *pconn=NULL);
78 
79 };
80 
82 
83 #endif
84 
85 
86 
87 
88 
89 
#define MAP_END_NAMESPACE
Definition: mapbasic.h:29
static void compute_pconn(const COM::Attribute *mesh, COM::Attribute *pconn)
Compute pane connectivity map between shared nodes.
Definition: Rocmap.C:34
static void reduce_minabs_on_shared_nodes(COM::Attribute *att, COM::Attribute *pconn=NULL)
Perform a minabs-reduction on the shared nodes for the given attribute.
Definition: Rocmap.C:67
Rocmap()
Definition: Rocmap.h:41
static void size_of_cpanes(const COM::Attribute *pconn, const int *pane_id, int *npanes_total, int *npanes_ghost=NULL)
Get the number of communicating panes.
Definition: Rocmap.C:50
static void unload(const std::string &mname)
Unloads Rocmap from Roccom.
Definition: Rocmap.C:136
static void reduce_maxabs_on_shared_nodes(COM::Attribute *att, COM::Attribute *pconn=NULL)
Perform a maxabs-reduction on the shared nodes for the given attribute.
Definition: Rocmap.C:77
static void pane_border_nodes(const COM::Attribute *mesh, COM::Attribute *isborder, int *ghost_level=NULL)
Determine the nodes at pane boundaries of a given mesh.
Definition: Rocmap.C:43
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
Definition: Rocmap.h:39
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 MAP_BEGIN_NAMESPACE
Definition: mapbasic.h:28
static void load(const std::string &mname)
Loads Rocmap onto Roccom with a given module name.
Definition: Rocmap.C:102