Skip to main content

LevelSetSplittor

C++: phynexis::peridigm::LevelSetSplittor
Python: phynexis.peridigm.LevelSetSplittor
Header: src/peridigm/level_set_splittor.hpp

Description​

Domain splitter that uses a level set (signed distance) function to define the geometry. Supports initialization from STL models or distance map files.

Inherits from DomainSplittor and LevelSetField.

Constructors​

LevelSetSplittor()​

Creates an empty level set splitter.

Example:

import phynexis
splittor = phynexis.peridigm.LevelSetSplittor()
print(type(splittor))

Output:

<class 'phynexis.lib.pyperidigm.LevelSetSplittor'>

Methods​

init_from_stl(stl_model, num_ele_each)​

Initializes the splitter from an STLModel object, creating an internal level set representation.

Parameters:

ParameterTypeDescription
stl_modelSTLModelSTL model object
num_ele_eachintNumber of elements in each dimension

init_from_distance_map(file_name)​

Initializes from a distance map text file.

Parameters:

ParameterTypeDescription
file_namestrPath to the distance map file

init_from_distance_map(corner_x, corner_y, corner_z, sp, dim_x, dim_y, dim_z, dist_list)​

Initializes from an explicit list of distances on a regular grid.

Parameters:

ParameterTypeDescription
corner_xfloatX coordinate of grid corner
corner_yfloatY coordinate of grid corner
corner_zfloatZ coordinate of grid corner
spfloatGrid spacing
dim_xintNumber of grid points along x
dim_yintNumber of grid points along y
dim_zintNumber of grid points along z
dist_listlist[float]Distance values (flattened grid)

Inherited from DomainSplittor​

  • get_peridigm_nodes()
  • get_stl_model() / get_stl_model(indices)
  • make_porosity(porosity)