Material Builder

MaterialBuilder

Higher-level contruction of materials from voxel specification

buildMaterials(*args, **kwargs)

Overloaded function.

VoxelSpec

Basic specification (index, volume fraction, zone) of a voxel (composite if more than one phase)

IndexOrdering

Order or elements in memory for multidimentional arrays represented by vector<> or, alternatively, order of linearized positions

class py4amitex.input.materialbuilder.MaterialBuilder

Higher-level contruction of materials from voxel specification

note: This module is concerned with construction of zones and composite specification, the user must specify the material behavior (law, coefficient)

addVoxel(*args, **kwargs)

Overloaded function.

  1. addVoxel(self: py4amitex.input.materialbuilder.MaterialBuilder, materials: py4amitex.input.Materials, position: int, spec: py4amitex.input.materialbuilder.VoxelSpec, normal: Annotated[list[float], FixedSize(3)] = [1.0, 0.0, 0.0]) -> None

Add a voxel with phases of (num_material, volume phraction)

Parameter materials:

where the voxel will be added

Parameter pos:

linear position

Parameter spec:

voxel specification

Parameter normal:

normal of the interface

  1. addVoxel(self: py4amitex.input.materialbuilder.MaterialBuilder, materials: py4amitex.input.Materials, position: int, numMaterial: int, zone: int = 0) -> None

Add a non-composite voxel

Parameter numM:

index of material

class py4amitex.input.materialbuilder.VoxelSpec

Basic specification (index, volume fraction, zone) of a voxel (composite if more than one phase)

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: py4amitex.input.materialbuilder.VoxelSpec) -> None

  2. __init__(self: py4amitex.input.materialbuilder.VoxelSpec, phases: list[tuple[int, float]]) -> None

Parameter phases:

list of (material index, volume fraction)

  1. __init__(self: py4amitex.input.materialbuilder.VoxelSpec, phases: list[tuple[int, float, int]]) -> None

Parameter phases:

list of (material index, volume fraction)

property phases

(material index, volume fraction, zone)

class py4amitex.input.materialbuilder.IndexOrdering

Order or elements in memory for multidimentional arrays represented by vector<> or, alternatively, order of linearized positions

Members:

C

Fortran

property name
py4amitex.input.materialbuilder.buildMaterials(*args, **kwargs)

Overloaded function.

  1. buildMaterials(materials: py4amitex.input.Materials, dims: Annotated[list[int], FixedSize(3)], phases: list[py4amitex.input.materialbuilder.VoxelSpec], ordering: py4amitex.input.materialbuilder.IndexOrdering = <IndexOrdering.C: 0>) -> None

Build materials from a list of all voxels (ie indexed by their linearized positions)

Parameter phases:

array as field of voxel specs

Parameter ordering:

ordering of positions

  1. buildMaterials(materials: py4amitex.input.Materials, dims: Annotated[list[int], FixedSize(3)], phases: list[tuple[py4amitex.input.materialbuilder.VoxelSpec, Annotated[list[float], FixedSize(3)]]], ordering: py4amitex.input.materialbuilder.IndexOrdering = <IndexOrdering.C: 0>) -> None

Build materials from a list of all voxels (ie indexed by their linearized positions) with normal information

Parameter phases:

array as tuple (voxel specs, normal)

Parameter ordering:

ordering of positions

  1. buildMaterials(materials: py4amitex.input.Materials, dims: Annotated[list[int], FixedSize(3)], phases: list[list[tuple[int, float]]], ordering: py4amitex.input.materialbuilder.IndexOrdering = <IndexOrdering.C: 0>) -> None

  2. buildMaterials(materials: py4amitex.input.Materials, dims: Annotated[list[int], FixedSize(3)], phases: list[tuple[list[tuple[int, float]], Annotated[list[float], FixedSize(3)]]], ordering: py4amitex.input.materialbuilder.IndexOrdering = <IndexOrdering.C: 0>) -> None

With normals

  1. buildMaterials(materials: py4amitex.input.Materials, dims: Annotated[list[int], FixedSize(3)], phases: list[int], ordering: py4amitex.input.materialbuilder.IndexOrdering = <IndexOrdering.C: 0>) -> None

Pure phase only