upxo.meshing.confMesh3d.config module

config.py

Configuration dataclasses for the confMesh3d conformal meshing pipeline.

class upxo.meshing.confMesh3d.config.SurfaceNetsConfig(smoothing: bool = True, wall_label: int = 32767, volume_tol: float = 0.01, max_correction_iters: int = 15, min_clearance_frac: float = 0.5, crease_angle_deg: float = 30.0)[source]

Bases: object

Controls for the vtkSurfaceNets3D surface extraction stage.

smoothing: bool = True
wall_label: int = 32767
volume_tol: float = 0.01
max_correction_iters: int = 15
min_clearance_frac: float = 0.5
crease_angle_deg: float = 30.0
class upxo.meshing.confMesh3d.config.ComplexConfig(vertex_weld_tol: float = 0.01)[source]

Bases: object

Controls for building the ConformalSurfaceComplex.

vertex_weld_tol: float = 0.01
class upxo.meshing.confMesh3d.config.ValidationConfig(zero_area_tol: float = 1e-12, rve_bounds_tol: float = 1e-06, volume_tol: float = 0.05, warn_min_voxels: int = 8)[source]

Bases: object

Tolerances for the pre-tet surface validation gate.

zero_area_tol: float = 1e-12
rve_bounds_tol: float = 1e-06
volume_tol: float = 0.05
warn_min_voxels: int = 8
class upxo.meshing.confMesh3d.config.SurfaceRemeshConfig(enabled: bool = False, algorithm: int = 6, mesh_size_factor: float = 1.0, optimize_iterations: int = 5, verbose_gmsh: bool = False)[source]

Bases: object

Controls for the optional Gmsh surface quality-optimization stage.

v1 scope: relax/optimize the existing SurfaceNets3D triangulation in place (Laplacian-style vertex relaxation of interior points only). Boundary vertices (shared by >=2 patches – triple lines / RVE edges) are never moved, so conformality across patches is preserved by construction. Does not re-parametrize or regenerate patches from scratch (that is a harder, deferred v2).

enabled: bool = False
algorithm: int = 6
mesh_size_factor: float = 1.0
optimize_iterations: int = 5
verbose_gmsh: bool = False
class upxo.meshing.confMesh3d.config.TetGenMeshConfig(quality: bool = True, minratio: float = 1.4, mindihedral: float = 10.0, verbose: int = 0)[source]

Bases: object

Controls for the TetGen tet-mesh generation stage.

quality: bool = True
minratio: float = 1.4
mindihedral: float = 10.0
verbose: int = 0
class upxo.meshing.confMesh3d.config.GmshMeshConfig(element_type: str = 'C3D4', char_length_min_frac: float = 0.5, char_length_max_frac: float = 3.0, algorithm_3d: int = 4, optimize: bool = True, verbose: int = 0, show_gui: bool = False)[source]

Bases: object

Controls for the gmsh tet-mesh generation stage.

element_type: str = 'C3D4'
char_length_min_frac: float = 0.5
char_length_max_frac: float = 3.0
algorithm_3d: int = 4
optimize: bool = True
verbose: int = 0
show_gui: bool = False
class upxo.meshing.confMesh3d.config.ExportConfig(out_dir: str = '', material_format: str = 'bunge_euler', n_depvar: int = 100, extra_formats: List[str] = <factory>)[source]

Bases: object

Controls for the Abaqus INP export.

out_dir: str = ''
material_format: str = 'bunge_euler'
n_depvar: int = 100
extra_formats: List[str]
class upxo.meshing.confMesh3d.config.ConfMesh3DConfig(surface_nets: SurfaceNetsConfig = <factory>, complex_cfg: ComplexConfig = <factory>, surface_remesh: SurfaceRemeshConfig = <factory>, validation: ValidationConfig = <factory>, gmsh: GmshMeshConfig = <factory>, tetgen: TetGenMeshConfig = <factory>, export: ExportConfig = <factory>)[source]

Bases: object

Top-level config bundling all stage configs.

surface_nets: SurfaceNetsConfig
complex_cfg: ComplexConfig
surface_remesh: SurfaceRemeshConfig
validation: ValidationConfig
gmsh: GmshMeshConfig
tetgen: TetGenMeshConfig
export: ExportConfig