Nektar++
|
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <float.h>
Go to the source code of this file.
Classes | |
struct | Vertex |
Represents a vertex in the mesh. More... | |
struct | Edge |
struct | Element |
struct | Mesh |
Macros | |
#define | PI 3.14159265358979323846 |
Functions | |
Mesh | CreateBasicCubicMesh () |
void | CutEdge (Mesh *LocMesh, int IdEdge) |
void | ProjectMeshSphere (Mesh *LocMesh, double R) |
void | MakeClockwiseOrder (Mesh *LocMesh) |
void | RefineMesh (Mesh *LocMesh) |
void | ProjectMeshSphereAndRefine (Mesh *LocMesh, double R, double MaxEdgeLength, int NbSubdiv) |
void | WriteMesh (Mesh *LocMesh, char FileName[256]) |
void | usage () |
int | main (int argc, char **argv) |
#define PI 3.14159265358979323846 |
Definition at line 7 of file MeshSphericalshell.c.
Mesh CreateBasicCubicMesh | ( | ) |
Definition at line 63 of file MeshSphericalshell.c.
References Element::E1, Element::E2, Element::E3, Mesh::Edges, Mesh::Elements, Mesh::NbEdges, Mesh::NbElements, Edge::NbSubdiv, Mesh::NbVertexes, Edge::V1, Edge::V2, Mesh::Vertexes, Vertex::X, Vertex::Y, and Vertex::Z.
void CutEdge | ( | Mesh * | LocMesh, |
int | IdEdge | ||
) |
Definition at line 129 of file MeshSphericalshell.c.
References Element::E1, Element::E2, Element::E3, Mesh::Edges, Mesh::Elements, Mesh::NbEdges, Mesh::NbElements, Edge::NbSubdiv, Mesh::NbVertexes, Edge::V1, Edge::V2, Mesh::Vertexes, Vertex::X, Vertex::Y, and Vertex::Z.
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 622 of file MeshSphericalshell.c.
References CreateBasicCubicMesh(), ProjectMeshSphereAndRefine(), usage(), and WriteMesh().
void MakeClockwiseOrder | ( | Mesh * | LocMesh | ) |
Definition at line 311 of file MeshSphericalshell.c.
References Element::E1, Element::E2, Element::E3, Mesh::Edges, Mesh::Elements, Mesh::NbElements, Edge::NbSubdiv, Edge::SubiVertex, Edge::V1, Edge::V2, Mesh::Vertexes, Vertex::X, Vertex::Y, and Vertex::Z.
void ProjectMeshSphere | ( | Mesh * | LocMesh, |
double | R | ||
) |
Definition at line 272 of file MeshSphericalshell.c.
References Mesh::NbVertexes, Mesh::Vertexes, Vertex::X, Vertex::Y, and Vertex::Z.
Referenced by ProjectMeshSphereAndRefine().
void ProjectMeshSphereAndRefine | ( | Mesh * | LocMesh, |
double | R, | ||
double | MaxEdgeLength, | ||
int | NbSubdiv | ||
) |
Definition at line 428 of file MeshSphericalshell.c.
References CutEdge(), Mesh::Edges, Nektar::for(), Mesh::NbEdges, Edge::NbSubdiv, ProjectMeshSphere(), Edge::SubiVertex, Edge::V1, Edge::V2, Mesh::Vertexes, Vertex::X, Vertex::Y, and Vertex::Z.
Referenced by main().
void RefineMesh | ( | Mesh * | LocMesh | ) |
Definition at line 394 of file MeshSphericalshell.c.
References CutEdge(), Mesh::Edges, Mesh::NbEdges, Edge::V1, Edge::V2, Mesh::Vertexes, Vertex::X, Vertex::Y, and Vertex::Z.
void usage | ( | ) |
Definition at line 611 of file MeshSphericalshell.c.
void WriteMesh | ( | Mesh * | LocMesh, |
char | FileName[256] | ||
) |
Definition at line 524 of file MeshSphericalshell.c.
References Element::E1, Element::E2, Element::E3, Mesh::Edges, Mesh::Elements, MakeClockwiseOrder(), Mesh::NbEdges, Mesh::NbElements, Edge::NbSubdiv, Mesh::NbVertexes, Edge::SubiVertex, Edge::V1, Edge::V2, Mesh::Vertexes, Vertex::X, Vertex::Y, and Vertex::Z.