PolyFEM
Loading...
Searching...
No Matches
p_bases Namespace Reference

Classes

class  Lagrange
 
class  ReferenceSimplex
 

Functions

 bernstein_space (order, nsd)
 
 create_point_set (order, nsd)
 
 create_matrix (equations, coeffs)
 
 parse_args ()
 

Variables

 x
 
 y
 
 z
 
 args = parse_args()
 
list dims = [2, 3]
 
list orders = [0, 1, 2, 3, 4]
 
str bletter = "b" if args.bernstein else "p"
 
str cpp = f"#include \"auto_{bletter}_bases.hpp\""
 
str hpp = "#pragma once\n\n#include <Eigen/Dense>\n#include <cassert>\n"
 
str suffix = 2 else "3d"
 
str unique_nodes
 
str unique_fun
 
str dunique_fun
 
list vertices = [[0, 0], [1, 0], [0, 1]]
 
 nbf
 
 N
 
 points
 
 fe = Lagrange(dim, order, args.bernstein)
 
 current_indices = list(range(0, len(fe.points)))
 
list indices = []
 
list vv = vertices[i]
 
int norm = 0
 
 nn = max(0, order - 2)
 
 npts = int(nn * (nn + 1) / 2)
 
list tmp = []
 
 reverse
 
str nodes
 
str func
 
str dfunc
 
str scalar_func_name = f"{bletter}_{order}_basis_value_{suffix}_single"
 
str scalar_dfunc_name = f"{bletter}_{order}_basis_grad_value_{suffix}_single"
 
str default_base = 3 else "p_n_basis_value_2d(p, local_index, uv, val);"
 
str default_dbase = 3 else "p_n_basis_grad_value_2d(p, local_index, uv, val);"
 
str default_nodes = 3 else "p_n_nodes_2d(p, val);"
 
str base = ""
 
str dbase = ""
 
str base_cases = "switch(local_index){\n"
 
str dbase_cases = "switch(local_index){\n"
 
list real_index = indices[i]
 
str value_name = f"{scalar_func_name}_{i}"
 
str grad_name = f"{scalar_dfunc_name}_{i}"
 
 basis = simplify(fe.N[real_index])
 
 path = os.path.abspath(args.output)
 

Function Documentation

◆ bernstein_space()

p_bases.bernstein_space (   order,
  nsd 
)

Definition at line 39 of file p_bases.py.

Referenced by p_bases.Lagrange.compute_basis().

Here is the caller graph for this function:

◆ create_matrix()

p_bases.create_matrix (   equations,
  coeffs 
)

Definition at line 106 of file p_bases.py.

Referenced by p_bases.Lagrange.compute_basis().

Here is the caller graph for this function:

◆ create_point_set()

p_bases.create_point_set (   order,
  nsd 
)

Definition at line 81 of file p_bases.py.

Referenced by p_bases.Lagrange.compute_basis().

Here is the caller graph for this function:

◆ parse_args()

p_bases.parse_args ( )

Definition at line 167 of file p_bases.py.

Variable Documentation

◆ args

p_bases.args = parse_args()

Definition at line 178 of file p_bases.py.

◆ base

str p_bases.base = ""

Definition at line 438 of file p_bases.py.

◆ base_cases

str p_bases.base_cases = "switch(local_index){\n"

Definition at line 441 of file p_bases.py.

◆ basis

p_bases.basis = simplify(fe.N[real_index])

Definition at line 448 of file p_bases.py.

◆ bletter

str p_bases.bletter = "b" if args.bernstein else "p"

Definition at line 185 of file p_bases.py.

◆ cpp

str p_bases.cpp = f"#include \"auto_{bletter}_bases.hpp\""

Definition at line 187 of file p_bases.py.

◆ current_indices

p_bases.current_indices = list(range(0, len(fe.points)))

Definition at line 258 of file p_bases.py.

◆ dbase

str p_bases.dbase = ""

Definition at line 439 of file p_bases.py.

◆ dbase_cases

str p_bases.dbase_cases = "switch(local_index){\n"

Definition at line 442 of file p_bases.py.

◆ default_base

str p_bases.default_base = 3 else "p_n_basis_value_2d(p, local_index, uv, val);"

Definition at line 433 of file p_bases.py.

◆ default_dbase

str p_bases.default_dbase = 3 else "p_n_basis_grad_value_2d(p, local_index, uv, val);"

Definition at line 434 of file p_bases.py.

◆ default_nodes

str p_bases.default_nodes = 3 else "p_n_nodes_2d(p, val);"

Definition at line 435 of file p_bases.py.

◆ dfunc

str p_bases.dfunc
Initial value:
1= f"void {bletter}_{order}_basis_grad_value_{suffix}" + \
2 "(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)"

Definition at line 419 of file p_bases.py.

◆ dims

list p_bases.dims = [2, 3]

Definition at line 180 of file p_bases.py.

◆ dunique_fun

str p_bases.dunique_fun
Initial value:
1= f"void {bletter}_grad_basis_value_{suffix}" + \
2 f"(const int {bletter}, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)"

Definition at line 209 of file p_bases.py.

◆ fe

p_bases.fe = Lagrange(dim, order, args.bernstein)

Definition at line 256 of file p_bases.py.

◆ func

str p_bases.func
Initial value:
1= f"void {bletter}_{order}_basis_value_{suffix}" + \
2 "(const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &result_0)"

Definition at line 417 of file p_bases.py.

◆ grad_name

str p_bases.grad_name = f"{scalar_dfunc_name}_{i}"

Definition at line 447 of file p_bases.py.

◆ hpp

str p_bases.hpp = "#pragma once\n\n#include <Eigen/Dense>\n#include <cassert>\n"

Definition at line 194 of file p_bases.py.

◆ indices

list p_bases.indices = []

Definition at line 259 of file p_bases.py.

◆ N

p_bases.N

Definition at line 249 of file p_bases.py.

◆ nbf

p_bases.nbf

Definition at line 247 of file p_bases.py.

◆ nn

p_bases.nn = max(0, order - 2)

Definition at line 342 of file p_bases.py.

◆ nodes

str p_bases.nodes
Initial value:
1= f"void {bletter}_{order}_nodes_{suffix}(Eigen::MatrixXd &res) {{\n res.resize(" + str(
2 len(indices)) + ", " + str(dim) + "); res << \n"

Definition at line 399 of file p_bases.py.

◆ norm

int p_bases.norm = 0

Definition at line 265 of file p_bases.py.

◆ npts

p_bases.npts = int(nn * (nn + 1) / 2)

Definition at line 343 of file p_bases.py.

◆ orders

list p_bases.orders = [0, 1, 2, 3, 4]

Definition at line 182 of file p_bases.py.

◆ path

p_bases.path = os.path.abspath(args.output)

Definition at line 494 of file p_bases.py.

◆ points

p_bases.points

Definition at line 252 of file p_bases.py.

◆ real_index

list p_bases.real_index = indices[i]

Definition at line 445 of file p_bases.py.

◆ reverse

p_bases.reverse

Definition at line 391 of file p_bases.py.

◆ scalar_dfunc_name

str p_bases.scalar_dfunc_name = f"{bletter}_{order}_basis_grad_value_{suffix}_single"

Definition at line 422 of file p_bases.py.

◆ scalar_func_name

str p_bases.scalar_func_name = f"{bletter}_{order}_basis_value_{suffix}_single"

Definition at line 421 of file p_bases.py.

◆ suffix

str p_bases.suffix = 2 else "3d"

Definition at line 201 of file p_bases.py.

◆ tmp

list p_bases.tmp = []

Definition at line 366 of file p_bases.py.

◆ unique_fun

str p_bases.unique_fun
Initial value:
1= f"void {bletter}_basis_value_{suffix}" + \
2 f"(const int {bletter}, const int local_index, const Eigen::MatrixXd &uv, Eigen::MatrixXd &val)"

Definition at line 207 of file p_bases.py.

◆ unique_nodes

str p_bases.unique_nodes
Initial value:
1= f"void {bletter}_nodes_{suffix}" + \
2 f"(const int {bletter}, Eigen::MatrixXd &val)"

Definition at line 203 of file p_bases.py.

◆ value_name

str p_bases.value_name = f"{scalar_func_name}_{i}"

Definition at line 446 of file p_bases.py.

◆ vertices

list p_bases.vertices = [[0, 0], [1, 0], [0, 1]]

Definition at line 238 of file p_bases.py.

◆ vv

list p_bases.vv = vertices[i]

Definition at line 263 of file p_bases.py.

◆ x

p_bases.x

Definition at line 11 of file p_bases.py.

◆ y

p_bases.y

Definition at line 11 of file p_bases.py.

◆ z

p_bases.z

Definition at line 11 of file p_bases.py.