Select Git revision
Eigenvectors.h
periodical.cpp 40.52 KiB
// Gmsh - Copyright (C) 1997-2014 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to the public mailing list <gmsh@geuz.org>.
//
// Contributor(s):
// Tristan Carrier Maxime Melchior
#include "periodical.h"
#include "GModel.h"
#include "meshGRegion.h"
#include <fstream>
#include <algorithm>
#include "MElement.h"
#if defined(HAVE_VORO3D)
#include "voro++.hh"
#endif
#if defined(HAVE_VORO3D)
using namespace voro;
#endif
/*********definitions*********/
class geo_cell{
public:
std::vector<std::pair<int,int> > lines;
std::vector<std::vector<int> > line_loops;
std::vector<std::vector<int> > orientations;
std::vector<int> points2;
std::vector<int> lines2;
std::vector<int> line_loops2;
std::vector<int> faces2;
int face_loops2;
geo_cell();
~geo_cell();
int search_line(std::pair<int,int>);
};
/*********class geo_cell*********/
geo_cell::geo_cell(){}
geo_cell::~geo_cell(){}
int geo_cell::search_line(std::pair<int,int> line){
unsigned int i;
for(i=0;i<lines.size();i++){
if(lines[i].first==line.first && lines[i].second==line.second) return i;
if(lines[i].first==line.second && lines[i].second==line.first) return i;
}
return -1;
}
/*********class voroMetal3D*********/
voroMetal3D::voroMetal3D(){}
voroMetal3D::~voroMetal3D(){}
void voroMetal3D::execute(double h){
GRegion* gr;
GModel* model = GModel::current();
GModel::riter it;