Function reference
Utility Functions
Functions to help build other functions in the package.
utils.distance | Euclidean distance between two points. |
utils.multiquadric | Hardyâs Multiquadric RBF |
utils.gaussian | Gaussian RBF |
utils.inverse_multiquadric | Inverse Multiquadric RBF |
utils.polyharmonic | Polyharmonic Spline RBF |
utils.thin_plate | Thin Plate Spline RBF |
utils.make_nodal_rbf | A function that returns the value of the RBF at a given point x, with respect to a given node. The RBF is tuned to the given node. |
utils.make_monomial | A function that returns the value of a monomial at a given point x. |
utils.make_all_monomials | A function that returns up to a certain number of monomials |
utils.compute_nb_monomials | Computes the number of monomials of dregree less than âmax_degreeâ, in dimension âproblem_dimensionâ |
utils.plot | Wrapper function for matplotlib and seaborn |
utils.RK4 | Numerical integration with RK4 and fixed-time stepping, but with fine subdivisions of the evaluation time intervals |
Cloud Module
Functions related to building the cloud of points
cloud.Cloud | A class to store the meshfree cloud of points and related properties |
cloud.SquareCloud | A class to store a cloud of (scattered or regular) points on a unit square |
cloud.GmshCloud | A class to store the cloud of points issued from GMSH and related properties |
Assembly Module
Functions related to assembling the matrices needed for the PDE solve
assembly.assemble_Phi | Assemble the collocation matrix Phi (see equation 5) from Shahane et al. |
assembly.assemble_P | Assemble the polynomial matrix P (see equation 6 from Shahane et al.) |
assembly.assemble_A | Assemble the matrix A (see equation 4 from Shahane et al.) |
assembly.assemble_invert_A | Assembles the inverts of the matrix A |
assembly.assemble_op_Phi_P | Assembles op(Phi) and op(P), the collocation and polynomial matrices after a differential operator is applied to internal nodes |
assembly.assemble_bd_Phi_P | Assembles bd(Phi) and bd(P), the collocation and polynomial matrices after boundary conditions are applied to boundary nodes |
assembly.assemble_B | Assemble matrix B using opPhi, bdPhi, opP, bdP, and A, see equation (*) from Shahane et al. |
assembly.assemble_q | Assemble the right hand side q using the given operator (See equation * from Shahane et al.) |
assembly.core_compute_coefficients | Find nodal and polynomial coefficients for scalar field directly from the number of monomials |
assembly.compute_coefficients | Find nodal and polynomial coefficients for scalar field |
assembly.get_field_coefficients | Find nodal and polynomial coefficients for scalar field. Alias of compute_coefficients() |
Operators Module
Functions related to the operators used in the PDE solve
operators.nodal_value | Computes the rbf or polynomial value at position x |
operators.nodal_gradient | Computes the gradient of the rbf or polynomial at position x |
operators.nodal_laplacian | Computes the laplacian as the trace of the jacobian of the gradient of the rbf or polynomial at position x |
operators.nodal_div_grad | Computes the laplacian as the divergence of the gradient of the rbf or polynomial at position x |
operators.value | Computes the value of the field (given by its coefficients) at position x |
operators.gradient | Computes the gradient of the field (given by its coefficients) at position x |
operators.gradient_vals | Computes the gradient of the field (given by its values) at position x |
operators.cartesian_gradient | Computes the gradient of the field (given by its values) at a specific node of a cartesian grid, using finite differences |
operators.divergence | Computes the divergence of the vector field (given by its coefficients) at position x |
operators.laplacian | Computes the laplacian of the field (given by its coefficients) at position x |
operators.laplacian_vals | Computes the laplacian of the field (given by its values) at position x |
operators.integrate_field | Integrate the field (given by its coefficients) over the 2D square cloud domain, using the midpoint rule: |
operators.interpolate_field | Interpolates field from cloud1 to cloud2 given that their nodes might be numbered differently |
operators.pde_solver | Solves a PDE using radial basis functions |
operators.pde_solver_jit | PDE solver just-in-time compiled with respect to the boundary conditions |
operators.pde_multi_solver | Solves a system of (non-linear) PDEs using an iterative approach for radial basis functions (see pde_solver for details on scalar PDEs) |
operators.enforce_cartesian_gradient_neumann | Sets the gradient at every neumann node using catesian grid |
operators.duplicate_robin_coeffs | Duplicate the Robin coefficients to the nodes of the facets they are applied to |
operators.apply_neumann_conditions | Enforces the Neumann boundary conditions to the field |
operators.zerofy_periodic_cond | Zero out the periodic boundary conditions (this is aplied before the PDE solve, to overwrite any value set by the user) |
operators.boundary_conditions_func_to_arr | Convert the given boundary conditions from functions to an array |