pycanha.gmm — Geometric Mathematical Model#

Geometric primitives for defining thermal surface elements.

Primitives#

class pycanha.gmm.Triangle(*args, **kwargs)[source]#

Bases: Triangle

create_mesh(self, arg0: pycanha_core.pycanha_core.gmm.ThermalMesh, arg1: float, /) pycanha_core.pycanha_core.gmm.TriMesh#

Create a triangular mesh of this primitive.

distance(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) float#
distance_jacobian_cutted_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
distance_jacobian_cutting_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
from_2d_to_3d(self, p2d: numpy.ndarray[dtype=float64, shape=(2), order='C']) numpy.ndarray[dtype=float64, shape=(3), order='C']#
from_3d_to_2d(self, p3d: numpy.ndarray[dtype=float64, shape=(3), order='C']) numpy.ndarray[dtype=float64, shape=(2), order='C']#
is_valid(self) bool#
property p1#

First vertex position.

property p2#

Second vertex position.

property p3#

Third vertex position.

v1(self) numpy.ndarray[dtype=float64, shape=(3), order='C']#

Edge vector p2 - p1.

v2(self) numpy.ndarray[dtype=float64, shape=(3), order='C']#

Edge vector p3 - p1.

class pycanha.gmm.Rectangle(*args, **kwargs)[source]#

Bases: Rectangle

create_mesh(self, arg0: pycanha_core.pycanha_core.gmm.ThermalMesh, arg1: float, /) pycanha_core.pycanha_core.gmm.TriMesh#

Create a triangular mesh of this primitive.

distance(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) float#
distance_jacobian_cutted_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
distance_jacobian_cutting_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
from_2d_to_3d(self, p2d: numpy.ndarray[dtype=float64, shape=(2), order='C']) numpy.ndarray[dtype=float64, shape=(3), order='C']#
from_3d_to_2d(self, p3d: numpy.ndarray[dtype=float64, shape=(3), order='C']) numpy.ndarray[dtype=float64, shape=(2), order='C']#
is_valid(self) bool#
property p1#

Origin vertex position.

property p2#

Second vertex (defines first edge from p1).

property p3#

Third vertex (defines second edge from p1).

v1(self) numpy.ndarray[dtype=float64, shape=(3), order='C']#

Edge vector p2 - p1.

v2(self) numpy.ndarray[dtype=float64, shape=(3), order='C']#

Edge vector p3 - p2.

class pycanha.gmm.Quadrilateral(*args, **kwargs)[source]#

Bases: Quadrilateral

create_mesh(self, arg0: pycanha_core.pycanha_core.gmm.ThermalMesh, arg1: float, /) pycanha_core.pycanha_core.gmm.TriMesh#

Create a triangular mesh of this primitive.

distance(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) float#
distance_jacobian_cutted_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
distance_jacobian_cutting_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
from_2d_to_3d(self, p2d: numpy.ndarray[dtype=float64, shape=(2), order='C']) numpy.ndarray[dtype=float64, shape=(3), order='C']#
from_3d_to_2d(self, p3d: numpy.ndarray[dtype=float64, shape=(3), order='C']) numpy.ndarray[dtype=float64, shape=(2), order='C']#
is_valid(self) bool#
property p1#

First vertex position.

property p2#

Second vertex position.

property p3#

Third vertex position.

property p4#

Fourth vertex position.

v1(self) numpy.ndarray[dtype=float64, shape=(3), order='C']#

Edge vector p2 - p1.

v2(self) numpy.ndarray[dtype=float64, shape=(3), order='C']#

Edge vector p3 - p2.

class pycanha.gmm.Cylinder(*args, **kwargs)[source]#

Bases: Cylinder

create_mesh(self, arg0: pycanha_core.pycanha_core.gmm.ThermalMesh, arg1: float, /) pycanha_core.pycanha_core.gmm.TriMesh#

Create a triangular mesh of this primitive.

distance(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) float#
distance_jacobian_cutted_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
distance_jacobian_cutting_surface(self, point: numpy.ndarray[dtype=float64, shape=(3), order='C']) std::array<double, 4ul>#
property end_angle#

End angle [rad].

from_2d_to_3d(self, p2d: numpy.ndarray[dtype=float64, shape=(2), order='C']) numpy.ndarray[dtype=float64, shape=(3), order='C']#
from_3d_to_2d(self, p3d: numpy.ndarray[dtype=float64, shape=(3), order='C']) numpy.ndarray[dtype=float64, shape=(2), order='C']#
is_valid(self) bool#
property p1#

Base center position.

property p2#

Top center position.

property p3#

Reference point for angle origin.

property radius#

Cylinder radius.

property start_angle#

Start angle [rad].