mymesh.implicit.tpms#

mymesh.implicit.tpms(name, cellsize=1)[source]#

Triply periodic minimal surfaces.

Parameters:
  • name (str) –

    Name of the TPMS surface

    • ’gyroid’ - Schoen’s gyroid

    • ’primitive’ or ‘P’ - Schwarz P

    • ’diamond’ or ‘D’ - Schwarz D

    • ’S’ - Fischer-Koch S

    • ’Lidinoid’

    • ’IWP’

    • ’FRD’

    • All 3D nodal surfaces from von Schnering and Nesper [vSN91] (Table 1) are available following their naming convention, including, the above named surfaces e.g. ‘gyroid’ is equivalent to ‘Y**’. Others include ‘I2-Y**’, ‘C(I2-Y**)’, ‘(Fxxx)*’, etc. See tpms.options for a full list.

  • cellsize (float, optional) – Unit cell size or periodicity, by default 1

Returns:

func – Callable implicit function f(x,y,z). This function utilizes sympy operators - for a vectorized function, use implicit.wrapfunc(func)

Return type:

callable