shamrock.get_Model_GSPH#

shamrock.get_Model_GSPH(*, context: ShamrockCtx, vector_type: str = 'f64_3', sph_kernel: str = 'M4') shamrock.model_gsph.GSPHModel_f64_3_M4 | shamrock.model_gsph.GSPHModel_f64_3_M6 | shamrock.model_gsph.GSPHModel_f64_3_M8 | shamrock.model_gsph.GSPHModel_f64_3_C2 | shamrock.model_gsph.GSPHModel_f64_3_C4 | shamrock.model_gsph.GSPHModel_f64_3_C6#

Create a GSPH (Godunov SPH) model.

GSPH uses Riemann solvers at particle interfaces instead of artificial viscosity, giving sharper shock resolution.

Parameters#

contextShamrockCtx

Shamrock context

vector_typestr

Vector type, e.g., “f64_3” for 3D double precision (default: “f64_3”)

sph_kernelstr

SPH kernel type: “M4” (cubic spline, default), “M6”, “M8” (quintic spline), “C2”, “C4”, “C6” (Wendland kernels)

Returns#

GSPHModel

A GSPH model instance

Examples#

>>> ctx = shamrock.ShamrockCtx()
>>> model = shamrock.get_Model_GSPH(context=ctx)  # Uses M4 kernel by default
>>> config = model.gen_default_config()
>>> config.set_riemann_hllc()
>>> config.set_eos_adiabatic(1.4)
>>> model.set_solver_config(config)