microgen.shape package
Shape.
Shape (microgen.shape
)
- class microgen.shape.Box(dim: tuple[float, float, float] = (1, 1, 1), dim_x: float | None = None, dim_y: float | None = None, dim_z: float | None = None, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a box.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a box CAD shape using the given parameters.
- generateVtk(**kwargs: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(level: int = 0, **_: KwargsGenerateType) pv.PolyData
Generate a box VTK shape using the given parameters.
- class microgen.shape.Capsule(height: float = 1, radius: float = 0.5, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a capsule (cylinder with hemispherical ends).
- generate(**_: KwargsGenerateType) cq.Shape
Generate a capsule CAD shape using the given parameters.
- generateVtk(resolution: int = 100, theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(resolution: int = 100, theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Generate a capsule VTK shape using the given parameters.
- class microgen.shape.Cylinder(height: float = 1, radius: float = 0.5, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a cylinder.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a cylinder CAD shape using the given parameters.
- generateVtk(resolution: int = 100, **kwargs: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(resolution: int = 100, **_: KwargsGenerateType) pv.PolyData
Generate a cylinder VTK shape using the given parameters.
- class microgen.shape.CylindricalTpms(radius: float, surface_function: Field, offset: float | Field | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), cell_size: float | Sequence[float] = 1.0, repeat_cell: int | Sequence[int] = 1, center: Vector3DType = (0, 0, 0), orientation: Vector3DType = (0, 0, 0), resolution: int = 20, density: float | None = None)
Bases:
Tpms
Class used to generate cylindrical TPMS geometries (sheet or skeletals parts).
- class microgen.shape.Ellipsoid(radii: tuple[float, float, float] = (1, 0.5, 0.25), a_x: float | None = None, a_y: float | None = None, a_z: float | None = None, **kwargs: Vector3DType)
Bases:
Shape
Class to generate an ellipsoid.
- generate(**_: KwargsGenerateType) cq.Shape
Generate an ellipsoid CAD shape using the given parameters.
- generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate an ellipsoid VTK polydta using the given parameters.
- class microgen.shape.ExtrudedPolygon(list_corners: Sequence[tuple[float, float]] | None = None, height: float = 1, **kwargs: Vector3DType | dict[str, Sequence[tuple[float, float]]])
Bases:
Shape
ExtrudedPolygon.
Class to generate an extruded polygon with a given list of points and a thickness
- generate(**_: KwargsGenerateType) cq.Shape
Generate an extruded polygon CAD shape using the given parameters.
- generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate an extruded polygon VTK shape using the given parameters.
- class microgen.shape.Infill(obj: PolyData, surface_function: Callable[[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]], ndarray[Any, dtype[float64]]], offset: float | Callable[[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]], ndarray[Any, dtype[float64]]] = 0.0, cell_size: float | Sequence[float] | ndarray[Any, dtype[float64]] | None = None, repeat_cell: int | Sequence[int] | ndarray[Any, dtype[int8]] | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), resolution: int = 20, density: float | None = None)
Bases:
Tpms
Generate a TPMS infill inside a given object.
- class microgen.shape.Polyhedron(dic: dict[str, list[Vertex | Face]] | None = None, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a Polyhedron with a given set of faces and vertices.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a polyhedron CAD shape using the given parameters.
- generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated method. Use generate_vtk instead.
- generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate a polyhedron VTK shape using the given parameters.
- class microgen.shape.Shape(center: Vector3DType = (0, 0, 0), orientation: Vector3DType = (0, 0, 0))
Bases:
ABC
Shape class to manage shapes.
- Parameters:
shape – name of the shape
center – center
orientation – orientation
- abstract generate(**_: KwargsGenerateType) cq.Shape
Generate the CAD shape.
- Returns:
cq.Shape
- abstract generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated. Use generate_vtk instead.
- abstract generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate the vtk mesh of the shape.
- Returns:
pv.PolyData
- class microgen.shape.Sphere(radius: float = 1, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a sphere.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a sphere CAD shape using the given parameters.
- generateVtk(theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Deprecated method. Use generate_vtk instead.
- generate_vtk(theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Generate a sphere VTK shape using the given parameters.
- class microgen.shape.SphericalTpms(radius: float, surface_function: Field, offset: float | Field | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), cell_size: float | Sequence[float] = 1.0, repeat_cell: int | Sequence[int] = 1, center: Vector3DType = (0, 0, 0), orientation: Vector3DType = (0, 0, 0), resolution: int = 20, density: float | None = None)
Bases:
Tpms
Class used to generate spherical TPMS geometries (sheet or skeletals parts).
- class microgen.shape.Tpms(surface_function: Field, offset: float | Field | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), cell_size: float | Sequence[float] = 1.0, repeat_cell: int | Sequence[int] = 1, resolution: int = 20, density: float | None = None, **kwargs: Vector3DType)
Bases:
Shape
Triply Periodical Minimal Surfaces.
Class to generate Triply Periodical Minimal Surfaces (TPMS) geometry from a given mathematical function, with given offset
- functions available :
- generate(type_part: TpmsPartType = 'sheet', smoothing: int = 0, algo_resolution: int | None = None, **_: KwargsGenerateType) cq.Shape
Generate CadQuery Shape object of the required TPMS part.
- Parameters:
type_part – part of the TPMS desired (‘sheet’, ‘lower skeletal’, ‘upper skeletal’ or ‘surface’)
smoothing – smoothing loop iterations
verbose – display progressbar of the conversion to CadQuery object
algo_resolution – if offset must be computed to fit density, resolution of the temporary TPMS used to compute the offset
- Returns:
CadQuery Shape object of the required TPMS part
- generateVtk(type_part: TpmsPartType = 'sheet', algo_resolution: int | None = None, **_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_grid_vtk(type_part: TpmsPartType = 'sheet', algo_resolution: int | None = None, **_: KwargsGenerateType) pv.UnstructuredGrid
Generate VTK UnstructuredGrid object of the required TPMS part.
- generate_vtk(type_part: TpmsPartType = 'sheet', algo_resolution: int | None = None, **_: KwargsGenerateType) pv.PolyData
Generate VTK PolyData object of the required TPMS part.
- Parameters:
type_part – part of the TPMS desireds
algo_resolution – if offset must be computed to fit density, resolution of the temporary TPMS used to compute the offset
- Returns:
VTK PolyData object of the required TPMS part
- property grid_lower_skeletal: UnstructuredGrid
Return lower skeletal part.
- property grid_sheet: UnstructuredGrid
Return sheet part.
- property grid_upper_skeletal: UnstructuredGrid
Return upper skeletal part.
- property lower_skeletal: PolyData
Return lower skeletal part.
- property offset: float | ndarray[Any, dtype[float64]] | None
Returns the offset value.
- classmethod offset_from_density(surface_function: Field, part_type: TpmsPartType, density: float, resolution: int = 20) float
Return the offset corresponding to the required density.
- Parameters:
surface_function – tpms function
part_type – type of the part (sheet, lower skeletal or upper skeletal)
density – Required density, 0.5 for 50%
resolution – resolution of the tpms used to compute the offset
- Returns:
corresponding offset value
- property sheet: PolyData
Return sheet part.
- property skeletals: tuple[PolyData, PolyData]
Returns both skeletal parts.
- property surface: PolyData
Returns isosurface f(x, y, z) = 0.
- property upper_skeletal: PolyData
Return upper skeletal part.
- microgen.shape.newGeometry(shape: str, param_geom: dict[str, GeometryParameterType], center: tuple[float, float, float] = (0, 0, 0), orientation: tuple[float, float, float] = (0, 0, 0)) Shape
Create a new basic geometry with given shape and geometrical parameters.
- Parameters:
shape – name of the geometry
param_geom – dictionary with required geometrical parameters
center – center
orientation – orientation
- Return geometry:
Shape
- microgen.shape.new_geometry(shape: str, param_geom: dict[str, GeometryParameterType], center: tuple[float, float, float] = (0, 0, 0), orientation: tuple[float, float, float] = (0, 0, 0)) Shape
Create a new basic geometry with given shape and geometrical parameters.
- Parameters:
shape – name of the geometry
param_geom – dictionary with required geometrical parameters
center – center
orientation – orientation
- Return geometry:
Shape
Basic Geometry.
Basic Geometry (microgen.shape.shape
)
- class microgen.shape.shape.Shape(center: Vector3DType = (0, 0, 0), orientation: Vector3DType = (0, 0, 0))
Bases:
ABC
Shape class to manage shapes.
- Parameters:
shape – name of the shape
center – center
orientation – orientation
- abstract generate(**_: KwargsGenerateType) cq.Shape
Generate the CAD shape.
- Returns:
cq.Shape
- abstract generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated. Use generate_vtk instead.
- abstract generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate the vtk mesh of the shape.
- Returns:
pv.PolyData
Box.
Box (microgen.shape.box
)
- class microgen.shape.box.Box(dim: tuple[float, float, float] = (1, 1, 1), dim_x: float | None = None, dim_y: float | None = None, dim_z: float | None = None, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a box.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a box CAD shape using the given parameters.
- generateVtk(**kwargs: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(level: int = 0, **_: KwargsGenerateType) pv.PolyData
Generate a box VTK shape using the given parameters.
Capsule.
Capsule (microgen.shape.capsule
)
- class microgen.shape.capsule.Capsule(height: float = 1, radius: float = 0.5, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a capsule (cylinder with hemispherical ends).
- generate(**_: KwargsGenerateType) cq.Shape
Generate a capsule CAD shape using the given parameters.
- generateVtk(resolution: int = 100, theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(resolution: int = 100, theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Generate a capsule VTK shape using the given parameters.
Cylinder.
Cylinder (microgen.shape.cylinder
)
- class microgen.shape.cylinder.Cylinder(height: float = 1, radius: float = 0.5, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a cylinder.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a cylinder CAD shape using the given parameters.
- generateVtk(resolution: int = 100, **kwargs: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(resolution: int = 100, **_: KwargsGenerateType) pv.PolyData
Generate a cylinder VTK shape using the given parameters.
Ellipsoid.
Ellipsoid (microgen.shape.ellipsoid
)
- class microgen.shape.ellipsoid.Ellipsoid(radii: tuple[float, float, float] = (1, 0.5, 0.25), a_x: float | None = None, a_y: float | None = None, a_z: float | None = None, **kwargs: Vector3DType)
Bases:
Shape
Class to generate an ellipsoid.
- generate(**_: KwargsGenerateType) cq.Shape
Generate an ellipsoid CAD shape using the given parameters.
- generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate an ellipsoid VTK polydta using the given parameters.
Extruded Polygon.
Extruded Polygon (microgen.shape.extruded_polygon
)
- class microgen.shape.extruded_polygon.ExtrudedPolygon(list_corners: Sequence[tuple[float, float]] | None = None, height: float = 1, **kwargs: Vector3DType | dict[str, Sequence[tuple[float, float]]])
Bases:
Shape
ExtrudedPolygon.
Class to generate an extruded polygon with a given list of points and a thickness
- generate(**_: KwargsGenerateType) cq.Shape
Generate an extruded polygon CAD shape using the given parameters.
- generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate an extruded polygon VTK shape using the given parameters.
Polyhedron.
Polyhedron (microgen.shape.polyhedron
)
- class microgen.shape.polyhedron.Polyhedron(dic: dict[str, list[Vertex | Face]] | None = None, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a Polyhedron with a given set of faces and vertices.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a polyhedron CAD shape using the given parameters.
- generateVtk(**_: KwargsGenerateType) pv.PolyData
Deprecated method. Use generate_vtk instead.
- generate_vtk(**_: KwargsGenerateType) pv.PolyData
Generate a polyhedron VTK shape using the given parameters.
- microgen.shape.polyhedron.read_obj(filename: str) dict[str, list[Tuple[float, float, float] | Dict[str, List[int]]]]
Read vertices and faces from obj format file for polyhedron.
Sphere.
Sphere (microgen.shape.sphere
)
- class microgen.shape.sphere.Sphere(radius: float = 1, **kwargs: Vector3DType)
Bases:
Shape
Class to generate a sphere.
- generate(**_: KwargsGenerateType) cq.Shape
Generate a sphere CAD shape using the given parameters.
- generateVtk(theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Deprecated method. Use generate_vtk instead.
- generate_vtk(theta_resolution: int = 50, phi_resolution: int = 50, **_: KwargsGenerateType) pv.PolyData
Generate a sphere VTK shape using the given parameters.
TPMS.
TPMS (microgen.shape.tpms
)
- class microgen.shape.tpms.CylindricalTpms(radius: float, surface_function: Field, offset: float | Field | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), cell_size: float | Sequence[float] = 1.0, repeat_cell: int | Sequence[int] = 1, center: Vector3DType = (0, 0, 0), orientation: Vector3DType = (0, 0, 0), resolution: int = 20, density: float | None = None)
Bases:
Tpms
Class used to generate cylindrical TPMS geometries (sheet or skeletals parts).
- class microgen.shape.tpms.Infill(obj: PolyData, surface_function: Callable[[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]], ndarray[Any, dtype[float64]]], offset: float | Callable[[ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]], ndarray[Any, dtype[float64]]], ndarray[Any, dtype[float64]]] = 0.0, cell_size: float | Sequence[float] | ndarray[Any, dtype[float64]] | None = None, repeat_cell: int | Sequence[int] | ndarray[Any, dtype[int8]] | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), resolution: int = 20, density: float | None = None)
Bases:
Tpms
Generate a TPMS infill inside a given object.
- exception microgen.shape.tpms.ShellCreationError(message: str)
Bases:
Exception
Error raised when the shell creation fails.
- class microgen.shape.tpms.SphericalTpms(radius: float, surface_function: Field, offset: float | Field | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), cell_size: float | Sequence[float] = 1.0, repeat_cell: int | Sequence[int] = 1, center: Vector3DType = (0, 0, 0), orientation: Vector3DType = (0, 0, 0), resolution: int = 20, density: float | None = None)
Bases:
Tpms
Class used to generate spherical TPMS geometries (sheet or skeletals parts).
- class microgen.shape.tpms.Tpms(surface_function: Field, offset: float | Field | None = None, phase_shift: Sequence[float] = (0.0, 0.0, 0.0), cell_size: float | Sequence[float] = 1.0, repeat_cell: int | Sequence[int] = 1, resolution: int = 20, density: float | None = None, **kwargs: Vector3DType)
Bases:
Shape
Triply Periodical Minimal Surfaces.
Class to generate Triply Periodical Minimal Surfaces (TPMS) geometry from a given mathematical function, with given offset
- functions available :
- generate(type_part: TpmsPartType = 'sheet', smoothing: int = 0, algo_resolution: int | None = None, **_: KwargsGenerateType) cq.Shape
Generate CadQuery Shape object of the required TPMS part.
- Parameters:
type_part – part of the TPMS desired (‘sheet’, ‘lower skeletal’, ‘upper skeletal’ or ‘surface’)
smoothing – smoothing loop iterations
verbose – display progressbar of the conversion to CadQuery object
algo_resolution – if offset must be computed to fit density, resolution of the temporary TPMS used to compute the offset
- Returns:
CadQuery Shape object of the required TPMS part
- generateVtk(type_part: TpmsPartType = 'sheet', algo_resolution: int | None = None, **_: KwargsGenerateType) pv.PolyData
Deprecated. Use
generate_vtk()
instead.
- generate_grid_vtk(type_part: TpmsPartType = 'sheet', algo_resolution: int | None = None, **_: KwargsGenerateType) pv.UnstructuredGrid
Generate VTK UnstructuredGrid object of the required TPMS part.
- generate_vtk(type_part: TpmsPartType = 'sheet', algo_resolution: int | None = None, **_: KwargsGenerateType) pv.PolyData
Generate VTK PolyData object of the required TPMS part.
- Parameters:
type_part – part of the TPMS desireds
algo_resolution – if offset must be computed to fit density, resolution of the temporary TPMS used to compute the offset
- Returns:
VTK PolyData object of the required TPMS part
- property grid_lower_skeletal: UnstructuredGrid
Return lower skeletal part.
- property grid_sheet: UnstructuredGrid
Return sheet part.
- property grid_upper_skeletal: UnstructuredGrid
Return upper skeletal part.
- property lower_skeletal: PolyData
Return lower skeletal part.
- property offset: float | ndarray[Any, dtype[float64]] | None
Returns the offset value.
- classmethod offset_from_density(surface_function: Field, part_type: TpmsPartType, density: float, resolution: int = 20) float
Return the offset corresponding to the required density.
- Parameters:
surface_function – tpms function
part_type – type of the part (sheet, lower skeletal or upper skeletal)
density – Required density, 0.5 for 50%
resolution – resolution of the tpms used to compute the offset
- Returns:
corresponding offset value
- property sheet: PolyData
Return sheet part.
- property skeletals: tuple[PolyData, PolyData]
Returns both skeletal parts.
- property surface: PolyData
Returns isosurface f(x, y, z) = 0.
- property upper_skeletal: PolyData
Return upper skeletal part.
TPMS surface functions.
- microgen.shape.surface_functions.fischerKochS(x: ndarray, y: ndarray, z: ndarray) ndarray
Fischer-Koch S.
\[cos(2 x) sin(y) cos(z) + cos(x) cos(2 y) sin(z) + sin(x) cos(y) cos(2 z) = 0\]
- microgen.shape.surface_functions.fischer_koch_s(x: ndarray, y: ndarray, z: ndarray) ndarray
Fischer-Koch S.
\[cos(2 x) sin(y) cos(z) + cos(x) cos(2 y) sin(z) + sin(x) cos(y) cos(2 z) = 0\]
- microgen.shape.surface_functions.gyroid(x: ndarray, y: ndarray, z: ndarray) ndarray
Gyroid.
\[sin(x) cos(y) + sin(y) cos(z) + sin(z) cos(x) = 0\]
- microgen.shape.surface_functions.honeycomb(x: ndarray, y: ndarray, z: ndarray) ndarray
Honneycomb.
\[sin(x) cos(y) + sin(y) + cos(z) = 0\]
- microgen.shape.surface_functions.honeycomb_gyroid(x: float, y: float, _: float) float
Honeycomb Gyroid.
\[sin(x) cos(y) + sin(y) + cos(x) = 0\]
- microgen.shape.surface_functions.honeycomb_lidinoid(x: float, y: float, _: float) float
Honeycomb Lidinoid.
\[1.1 (sin(2 x) cos(y) + sin(2 y) sin(x) + cos(x) sin(y)) - (cos(2 x) cos(2 y) + cos(2 y) + cos(2 x)) = 0\]
- microgen.shape.surface_functions.honeycomb_schoenIWP(x: float, y: float, _: float) float
Honneycomb Schoen IWP.
\[cos(x) cos(y) + cos(y) + cos(x) = 0\]
- microgen.shape.surface_functions.honeycomb_schoen_iwp(x: float, y: float, _: float) float
Honneycomb Schoen IWP.
\[cos(x) cos(y) + cos(y) + cos(x) = 0\]
- microgen.shape.surface_functions.honeycomb_schwarzD(x: float, y: float, _: float) float
Honneycomb Schwarz D.
\[cos(x) cos(y) + sin(x) sin(y) + sin(x) cos(y) + cos(x) sin(y) = 0\]
- microgen.shape.surface_functions.honeycomb_schwarzP(x: float, y: float, _: float) float
Honeycomb Schwarz P.
\[cos(x) + cos(y) = 0\]
- microgen.shape.surface_functions.honeycomb_schwarz_d(x: float, y: float, _: float) float
Honneycomb Schwarz D.
\[cos(x) cos(y) + sin(x) sin(y) + sin(x) cos(y) + cos(x) sin(y) = 0\]
- microgen.shape.surface_functions.honeycomb_schwarz_p(x: float, y: float, _: float) float
Honeycomb Schwarz P.
\[cos(x) + cos(y) = 0\]
- microgen.shape.surface_functions.lidinoid(x: ndarray, y: ndarray, z: ndarray) ndarray
Lidinoid.
\[0.5 (sin(2 x) cos(y) sin(z) + sin(2 y) cos(z) sin(x) + sin(2 z) cos(x) sin(y)) - 0.5 (cos(2 x) cos(2 y) + cos(2 y) cos(2 z) + cos(2 z) cos(2 x)) + 0.3 = 0\]
- microgen.shape.surface_functions.neovius(x: ndarray, y: ndarray, z: ndarray) ndarray
Neovius.
\[3 cos(x) + cos(y) + cos(z) + 4 cos(x) cos(y) cos(z) = 0\]
- microgen.shape.surface_functions.pmy(x: ndarray, y: ndarray, z: ndarray) ndarray
PMY.
\[2 cos(x) cos(y) cos(z) + sin(2 x) sin(y) + sin(x) sin(2 z) + sin(2 y) sin(z) = 0\]
- microgen.shape.surface_functions.schoenFRD(x: ndarray, y: ndarray, z: ndarray) ndarray
Schoen FRD.
\[4 cos(x) cos(y) cos(z) - (cos(2 x) cos(2 y) + cos(2 y) cos(2 z) + cos(2 z) cos(2 x)) = 0\]
- microgen.shape.surface_functions.schoenIWP(x: ndarray, y: ndarray, z: ndarray) ndarray
Schoen IWP.
\[2 (cos(x) cos(y) + cos(y) cos(z) + cos(z) cos(x)) - (cos(2 x) + cos(2 y) + cos(2 z)) = 0\]
- microgen.shape.surface_functions.schoen_frd(x: ndarray, y: ndarray, z: ndarray) ndarray
Schoen FRD.
\[4 cos(x) cos(y) cos(z) - (cos(2 x) cos(2 y) + cos(2 y) cos(2 z) + cos(2 z) cos(2 x)) = 0\]
- microgen.shape.surface_functions.schoen_iwp(x: ndarray, y: ndarray, z: ndarray) ndarray
Schoen IWP.
\[2 (cos(x) cos(y) + cos(y) cos(z) + cos(z) cos(x)) - (cos(2 x) + cos(2 y) + cos(2 z)) = 0\]
- microgen.shape.surface_functions.schwarzD(x: ndarray, y: ndarray, z: ndarray) ndarray
Schwarz D.
\[sin(x) sin(y) sin(z) + sin(x) cos(y) cos(z) + cos(x) sin(y) cos(z) + cos(x) cos(y) sin(z) = 0\]
- microgen.shape.surface_functions.schwarzP(x: ndarray, y: ndarray, z: ndarray) ndarray
Schwarz P.
\[cos(x) + cos(y) + cos(z) = 0\]
- microgen.shape.surface_functions.schwarz_d(x: ndarray, y: ndarray, z: ndarray) ndarray
Schwarz D.
\[sin(x) sin(y) sin(z) + sin(x) cos(y) cos(z) + cos(x) sin(y) cos(z) + cos(x) cos(y) sin(z) = 0\]
- microgen.shape.surface_functions.schwarz_p(x: ndarray, y: ndarray, z: ndarray) ndarray
Schwarz P.
\[cos(x) + cos(y) + cos(z) = 0\]
- microgen.shape.surface_functions.split_p(x: ndarray, y: ndarray, z: ndarray) ndarray
Split P.
\[1.1 (sin(2 x) cos(y) sin(z) + sin(2 y) cos(z) sin(x) + sin(2 z) cos(x) sin(y)) - 0.2 (cos(2 x) cos(2 y) + cos(2 y) cos(2 z) + cos(2 z) cos(2 x)) - 0.4 (cos(2 x) + cos(2 y) + cos(2 z)) = 0\]