48 static void load(
const std::string &mname);
50 static void unload(
const std::string &mname);
58 static void integrate(
const COM::Attribute *
x,
double *
z);
65 const COM::Attribute *pnts=NULL);
71 const int *to_normalize=NULL,
72 const COM::Attribute *pnts=NULL);
86 const COM::Attribute *new_location,
87 COM::Attribute *volumes,
100 const COM::Attribute *disps,
101 COM::Attribute *volumes,
120 void initialize(
const COM::Attribute *pmesh);
128 void compute_mcn( COM::Attribute *mcn, COM::Attribute *lbmcn);
131 void serialize_mesh(
const COM::Attribute *inmesh, COM::Attribute *outmesh);
138 COM::Attribute *nodal_vals,
139 const COM::Attribute *mesh=NULL,
141 const COM::Attribute *elem_weights=NULL,
142 COM::Attribute *nodal_weights=NULL);
149 for (
int i=0;
i<size; ++
i) tmp += a[
i]*a[
i];
151 if ( tmp == 0)
return;
153 for (
int i=0;
i<size; ++
i) a[
i] /= tmp;
158 else return COM_Object::validate_object();
This class implements a data structure for 2-manifold over a whole window, which can be composed of m...
static const int scheme_vals[]
void elements_to_nodes(const COM::Attribute *elem_vals, COM::Attribute *nodal_vals, const COM::Attribute *mesh=NULL, const int *scheme=NULL, const COM::Attribute *elem_weights=NULL, COM::Attribute *nodal_weights=NULL)
Computes nodal or elemental normals of a given window.
static void normalize(T *a, int size)
#define SURF_END_NAMESPACE
static void load(const std::string &mname)
Loads Rocsurf onto Roccom with a given module name.
static void compute_bounded_volumes(const COM::Attribute *old_location, const COM::Attribute *new_location, COM::Attribute *volumes, void *flag=NULL)
Computes the volume bounded between two different locations of each face of the surface mesh of windo...
static void compute_signed_volumes(const COM::Attribute *mesh, double *vol)
Computes the signed volume of a body.
#define SURF_BEGIN_NAMESPACE
void initialize(const COM::Attribute *pmesh)
Constructs the communication patterns of a distributed mesh.
void compute_mcn(COM::Attribute *mcn, COM::Attribute *lbmcn)
Computes nodal or elemental normals of a given window.
void int int int REAL REAL REAL * z
static void interpolate_to_centers(const COM::Attribute *x, COM::Attribute *z)
Interpolates nodal coordinates to element centers.
void serialize_mesh(const COM::Attribute *inmesh, COM::Attribute *outmesh)
Serialize the mesh of a given window.
void compute_normals(const COM::Attribute *mesh, COM::Attribute *nrm, const int *scheme=NULL)
Computes nodal or elemental normals of a given window.
static void integrate(const COM::Attribute *x, double *z)
Integrate a function given by an elemental attribute over surface z is an array of size equal to numb...
static void compute_element_normals(COM::Attribute *nrm, const int *to_normalize=NULL, const COM::Attribute *pnts=NULL)
Computes elemental normals of a given window.
static void compute_center(const COM::Attribute *mesh, Vector_3< double > &cnt)
Computes the center of a body.
static void compute_swept_volumes(const COM::Attribute *location, const COM::Attribute *disps, COM::Attribute *volumes, void *flag=NULL)
Computes the swept volume by a given displacement of each face of the surface mesh of window volumes-...
int validate_object() const
void compute_edge_lengths(double *lave, double *lmin, double *lmax)
Computes edge lengths of a given window.
static void unload(const std::string &mname)
Unloads Rocsurf from Roccom.
static void compute_element_areas(COM::Attribute *areas, const COM::Attribute *pnts=NULL)
Computes the area of each face of the surface mesh of window areas->window and saves the results in a...
virtual Window_manifold_2 * manifold()
Obtain a reference to the manifold.