Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Rocon.H
Go to the documentation of this file.
1 /* *******************************************************************
2  * Illinois Open Source License *
3  * *
4  * University of Illinois/NCSA *
5  * Open Source License *
6  * *
7  * Copyright@2008, University of Illinois. All rights reserved. *
8  * *
9  * Developed by: *
10  * *
11  * Center for Simulation of Advanced Rockets *
12  * *
13  * University of Illinois *
14  * *
15  * www.csar.uiuc.edu *
16  * *
17  * Permission is hereby granted, free of charge, to any person *
18  * obtaining a copy of this software and associated documentation *
19  * files (the "Software"), to deal with the Software without *
20  * restriction, including without limitation the rights to use, *
21  * copy, modify, merge, publish, distribute, sublicense, and/or *
22  * sell copies of the Software, and to permit persons to whom the *
23  * Software is furnished to do so, subject to the following *
24  * conditions: *
25  * *
26  * *
27  * @ Redistributions of source code must retain the above copyright *
28  * notice, this list of conditions and the following disclaimers. *
29  * *
30  * @ Redistributions in binary form must reproduce the above *
31  * copyright notice, this list of conditions and the following *
32  * disclaimers in the documentation and/or other materials *
33  * provided with the distribution. *
34  * *
35  * @ Neither the names of the Center for Simulation of Advanced *
36  * Rockets, the University of Illinois, nor the names of its *
37  * contributors may be used to endorse or promote products derived *
38  * from this Software without specific prior written permission. *
39  * *
40  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
41  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
42  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
43  * NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
44  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
45  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
46  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
47  * USE OR OTHER DEALINGS WITH THE SOFTWARE. *
48  *********************************************************************
49  * Please acknowledge The University of Illinois Center for *
50  * Simulation of Advanced Rockets in works and publications *
51  * resulting from this software or its derivatives. *
52  *********************************************************************/
53 
54 #ifndef _ROCON_H_
55 #define _ROCON_H_
56 
57 #include "roccom.h"
58 #include "roccom_devel.h"
59 #include "BndSurface.h"
60 
61 class Rocon : public COM_Object {
62 public:
64  Rocon(): _TOL(1E-14){};
65  virtual ~Rocon(){};
67  void init_from_file( const char *inp,const int *ndiv);
68 
70  void initialize( const COM::Attribute *pmesh,const int *ndiv);
71 
77  void find_intersections( const COM::Attribute *pmesh, const COM::Attribute *disp,
78  COM::Attribute *pos,COM::Attribute *constr);
79 
81  void constrain_displacements( const COM::Attribute *pmesh, COM::Attribute *disp,
82  const COM::Attribute *pos, const COM::Attribute *constr);
83 
85  void burnout( const COM::Attribute *pmesh, const COM::Attribute *cflag,
86  COM::Attribute *bflag);
87 
89  void burnout_filter( const COM::Attribute *bflag,
90  COM::Attribute *target);
91 
92  std::string &WindowName() { return (_wname); };
93 
94  static void load( const std::string &mname);
95 
96  static void unload( const std::string &mname);
97 
98  void SetVerbosity(int v){ _verbose = v; };
99 protected:
100  int _verbose; // Verbose level
101  int _rank; // process rank.
102  MPI_Comm _comm;
103  double _TOL;
104  std::string _wname;
106  bool _checked;
107  double _transform_x;
108  double _transform_y;
109  double _transform_z;
111 };
112 
113 #endif // _ROCON_H_
114 
double _transform_x
Definition: Rocon.H:107
void find_intersections(const COM::Attribute *pmesh, const COM::Attribute *disp, COM::Attribute *pos, COM::Attribute *constr)
Displace the points in pmesh by disp and calcuate the intersections (if any) with the constraint mesh...
Definition: Rocon.C:557
int _verbose
Definition: Rocon.H:98
void init_from_file(const char *inp, const int *ndiv)
Initialize Rocon from the given file.
Definition: Rocon.C:13
static void unload(const std::string &mname)
Definition: Rocon.C:856
void constrain_displacements(const COM::Attribute *pmesh, COM::Attribute *disp, const COM::Attribute *pos, const COM::Attribute *constr)
Constrain the displacements, disp, to the appropriate positions, pos.
Definition: Rocon.C:706
This file contains the prototypes for Roccom API.
bool _transform
Definition: Rocon.H:110
virtual ~Rocon()
Definition: Rocon.H:65
double _transform_z
Definition: Rocon.H:109
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
Definition: roccomf90.h:20
int _rank
Definition: Rocon.H:101
std::string & WindowName()
Definition: Rocon.H:92
void burnout_filter(const COM::Attribute *bflag, COM::Attribute *target)
Sets target = 0 for every burning pane element on which bflag = 0.
Definition: Rocon.C:491
double _TOL
Definition: Rocon.H:103
double _transform_y
Definition: Rocon.H:108
Rocon()
Default constructor.
Definition: Rocon.H:64
void burnout(const COM::Attribute *pmesh, const COM::Attribute *cflag, COM::Attribute *bflag)
Sets bflag = 0 for every element for which every node's cflag = 1.
Definition: Rocon.C:227
std::string _wname
Definition: Rocon.H:104
MPI_Comm _comm
Definition: Rocon.H:102
bool _checked
Definition: Rocon.H:106
static void load(const std::string &mname)
Definition: Rocon.C:813
Definition: Rocon.H:61
MeshBndSurf * _mbs
Definition: Rocon.H:105
void initialize(const COM::Attribute *pmesh, const int *ndiv)
Initialize Rocon with given mesh.
Definition: Rocon.C:98
void SetVerbosity(int v)
Definition: Rocon.H:98