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