This namespace contains all Phelm functions and classes.
|
Classes |
| struct | Point |
| | Point class represents a 2-dimensional point on a plane. More...
|
| struct | MeshPoint |
| | A point of a manifold can be included into multiple subdomains. More...
|
| struct | Triangle |
| | Triangle class. More...
|
| struct | Mesh |
| | Mesh class. More...
|
| struct | Element |
| | Destination of this structure is finite-element matrix changing. More...
|
| struct | Polynom |
| | Polynom of variables (x, y). More...
|
| class | Matrix |
| | Matrix class. More...
|
Typedefs |
|
typedef double(* | x_t )(double u, double v) |
| | callback that converts local coordinates to global coordinates.
|
| typedef double(* | f_xy_t )(double x, double y) |
| | Function.
|
| typedef double(* | f_xyt_t )(double x, double y, double t) |
| | Function.
|
| typedef std::vector< Element > | elements_t |
| | Elements vector.
|
Functions |
| void | 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 | 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.
|
| void | 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 | 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 | solve (double *answer, const double *bnd, double *rp, Matrix &A, const Mesh &m) |
| | Solve the system with A matrix (Ax=rp).
|
| void | solve2 (double *answer, double *rp, Matrix &A, const Mesh &m) |
| | Solve the system with A matrix (Ax=rp).
|
| void | p2u (double *u, const double *p, const double *bnd, const Mesh &m) |
| | Add boundary conditions to p.
|
| void | u2p (double *p, const double *u, const Mesh &m) |
| | Remove boundary conditions from u.
|
| void | set_bnd (double *F, const double *bnd, const Mesh &m) |
| | Set the boundary value of vector F.
|
| double | 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 | 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 | fast_scalar (const double *u, const double *v, const Mesh &m, Matrix &mat) |
| | Fast mesh inner product calculator.
|
| double | fast_norm (const double *u, const Mesh &m, Matrix &mat) |
| | Fast mesh norm calculator.
|
| double | fast_dist (const double *u, const double *v, const Mesh &m, Matrix &mat) |
| | Fast mesh distance calculator.
|
| void | proj (double *F, const Mesh &mesh, f_xy_t f) |
| | Project function f(x,y) to the mesh.
|
| void | proj_bnd (double *F, const Mesh &m, f_xy_t f) |
| | Project function f(x,y) to the boundary of the mesh.
|
| void | proj_bnd (double *F, const double *F1, const Mesh &m) |
| | Project vector F1 to the boundary of the mesh.
|
| void | proj (double *F, const Mesh &mesh, f_xyt_t f, double t) |
| | Project function f(x,y,t) to the mesh.
|
| void | 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.
|
| template<typename Functor , typename Data > |
| void | generate_matrix (Matrix &A, const Mesh &m, Functor integrate_cb, Data user_data, bool transpose=false) |
| | Generate finite element matrix.
|
| template<typename Functor , typename Data > |
| void | generate_full_matrix (Matrix &A, const Mesh &m, Functor integrate_cb, Data user_data, bool transpose=false) |
| | Generate full finite-elements matrix.
|
| template<typename Functor , typename Data > |
| void | generate_right_part (double *b, const Mesh &m, Functor right_part_cb, Data user_data) |
| | Generate right part.
|
| template<typename Functor , typename Data > |
| void | generate_full_right_part (double *b, const Mesh &m, Functor right_part_cb, Data user_data) |
| | Generate full right part.
|
| template<typename Functor , typename Data > |
| void | generate_boundary_matrix (Matrix &A, const Mesh &m, Functor right_part_cb, Data user_data, bool transpose=false) |
| | Generate boundary conditions matrix.
|
| template<typename Functor , typename Data > |
| void | convolution (double *ans, const double *u, const double *v, const Mesh &m, Functor cb, Data user_data) |
| | Convolution.
|
|
| template<typename Functor , typename Data > |
| double | scalar (const double *u, const double *v, const Mesh &m, Functor cb, Data user_data) |
| | Calculate inner product of two mesh vectors.
|
| template<typename Functor , typename Data > |
| void | generate_scalar_matrix (Matrix &mat, const Mesh &m, Functor cb, Data user_data) |
| | Create matrix for fast inner product computation.
|
| template<typename Functor , typename Data > |
| double | norm (const double *u, const Mesh &m, Functor cb, Data user_data) |
| | Calculate norm of mesh vector.
|
| double | norm (const double *u, const Mesh &m) |
| | Calculate norm of mesh vector on flat domain.
|
| template<typename Functor , typename Data > |
| double | dist (const double *u, const double *v, const Mesh &m, Functor cb, Data user_data) |
| | Calculate distance between two mesh vectors.
|
| double | dist (const double *u, const double *v, const Mesh &m) |
| | Calculate distance between two mesh vectors on flat domain.
|
This namespace contains all Phelm functions and classes.