DeepSDFStruct.splinepy_unitcells.snappy_3d#

Classes

Snappy3D()

Snap-through tile consisting of a thin truss and a thick truss that collide into each other.

class DeepSDFStruct.splinepy_unitcells.snappy_3d.Snappy3D#

Bases: splinepy.microstructure.tiles.tile_base.TileBase

Snap-through tile consisting of a thin truss and a thick truss that collide into each other. The thickness can vary in z-direction. Version: 0.1 Author: Michael Kofler, 2024-06-27

create_tile(parameters=None, parameter_sensitivities=None, contact_length=0.1, a=0.1, b=0.1, c=0.3, r=0.15, closure=None, **kwargs)#

Create a microtile based on the parameters that describe the wall thicknesses.

Thickness parameters are used to describe the inner radius of the outward facing branches

Parameters:
  • parameters (np.array) – Currently, no parameter is used, (First test)

  • parameter_sensitivities (list(np.ndarray)) – Describes the parameter sensitivities with respect to some design variable. In case the design variables directly apply to the parameter itself, they evaluate as delta_ij, currently unused

  • contact_length (float) – the length of the wall that contacts neighboring microstructures

  • a (float) – height/ thickness of the thinner/upper beam

  • b (float) – height/ thickness of the lower/thicker beam

  • c (float) – offset to the upper beam (for consistent snap-through must fulfill 2*c<1-b)

  • r (float) – ‘radius’ of the cubic bezier

  • closure (str) – string specifying the closing dimensions (e.g., x_min)

Returns:

  • microtile_list (list(splines))

  • derivatives (list<list<splines>> / None)