phelm.h File Reference

#include <stdio.h>
#include "polynom.h"
#include "phelm_generators.h"

Go to the source code of this file.


Classes

struct  phelm::Point
 Point class represents a 2-dimensional point on a plane. More...
struct  phelm::MeshPoint
 A point of a manifold can be included into multiple subdomains. More...
struct  phelm::Triangle
 Triangle class. More...
struct  phelm::Mesh
 Mesh class. More...

Namespaces

namespace  phelm
 This namespace contains all Phelm functions and classes.

Typedefs

typedef double(* phelm::x_t )(double u, double v)
 callback that converts local coordinates to global coordinates.
typedef double(* phelm::f_xy_t )(double x, double y)
 Function.
typedef double(* phelm::f_xyt_t )(double x, double y, double t)
 Function.

Functions

void phelm::print_function (FILE *to, double *ans, const Mesh &m, x_t x=0, x_t y=0, x_t z=0)
 Print a mesh function to file.
void phelm::print_function (const char *fname, double *ans, const Mesh &m, x_t x=0, x_t y=0, x_t z=0)
 Print a mesh function to file.
void phelm::print_inner_function (FILE *to, double *ans, const Mesh &m, x_t x=0, x_t y=0, x_t z=0)
 Print the inner part of a mesh function to file.
void phelm::print_inner_function (const char *to, double *ans, const Mesh &m, x_t x=0, x_t y=0, x_t z=0)
 Print the inner part of a mesh function to file.
double phelm::generic_scalar_cb (const Polynom &phi_i, const Polynom &phi_j, const Triangle &trk, const Mesh &m, int i1, int j1, int i2, int j2, void *user_data)
 Calculate inner product of two basis functions on flat domain.
double phelm::sphere_scalar_cb (const Polynom &phi_i, const Polynom &phi_j, const Triangle &trk, const Mesh &m, int i1, int j1, int i2, int j2, void *user_data)
 Calculate inner product of two basis functions on sphere.
double phelm::fast_scalar (const double *u, const double *v, const Mesh &m, Matrix &mat)
 Fast mesh inner product calculator.
double phelm::fast_norm (const double *u, const Mesh &m, Matrix &mat)
 Fast mesh norm calculator.
double phelm::fast_dist (const double *u, const double *v, const Mesh &m, Matrix &mat)
 Fast mesh distance calculator.
void phelm::p2u (double *u, const double *p, const double *bnd, const Mesh &m)
 Add boundary conditions to p.
void phelm::u2p (double *p, const double *u, const Mesh &m)
 Remove boundary conditions from u.
void phelm::proj (double *F, const Mesh &mesh, f_xy_t f)
 Project function f(x,y) to the mesh.
void phelm::proj_bnd (double *F, const Mesh &m, f_xy_t f)
 Project function f(x,y) to the boundary of the mesh.
void phelm::proj_bnd (double *F, const double *F1, const Mesh &m)
 Project vector F1 to the boundary of the mesh.
void phelm::set_bnd (double *F, const double *bnd, const Mesh &m)
 Set the boundary value of vector F.
void phelm::proj (double *F, const Mesh &mesh, f_xyt_t f, double t)
 Project function f(x,y,t) to the mesh.
void phelm::proj_bnd (double *F, const Mesh &m, f_xyt_t f, double t)
 Project function f(x,y,t) to the boundary of the mesh.


Detailed Description

Author:
Alexey Ozeritsky <aozeritsky@gmail.com>
Version:
Revision
2ec1bda0e419

Definition in file phelm.h.


Phelm Library
Copyright © 2009 Alexey Ozeritsky. All rights reserved.
http://resetius.ru