diff --git a/science/Makefile b/science/Makefile index 0b3aa4567874..cf0c3d2e9269 100644 --- a/science/Makefile +++ b/science/Makefile @@ -1,539 +1,540 @@ COMMENT = Scientific ports SUBDIR += 2d-rewriter SUBDIR += ALPSCore SUBDIR += ChipmunkPhysics SUBDIR += InsightToolkit SUBDIR += InsightToolkit501 SUBDIR += PETSc SUBDIR += R-cran-DCluster SUBDIR += R-cran-Epi SUBDIR += R-cran-FAdist SUBDIR += R-cran-bayesm SUBDIR += R-cran-cmprsk SUBDIR += R-cran-e1071 SUBDIR += R-cran-epicalc SUBDIR += R-cran-etm SUBDIR += R-cran-fastICA SUBDIR += R-cran-kernlab SUBDIR += R-cran-ks SUBDIR += R-cran-snow SUBDIR += R-cran-som SUBDIR += R-cran-udunits2 SUBDIR += abinit SUBDIR += acados SUBDIR += afni SUBDIR += agrum SUBDIR += aircraft-datcom SUBDIR += antioch SUBDIR += apbs SUBDIR += arbor SUBDIR += ascent SUBDIR += atompaw SUBDIR += avogadro2 SUBDIR += avogadrolibs SUBDIR += axom SUBDIR += bagel SUBDIR += bddsolve SUBDIR += berkeleygw SUBDIR += bodr SUBDIR += bout++ SUBDIR += bout++-merging-filaments SUBDIR += buddy SUBDIR += cantera SUBDIR += cardioid SUBDIR += cdf SUBDIR += cdk SUBDIR += cdo SUBDIR += cgnslib SUBDIR += cgribex SUBDIR += checkmol SUBDIR += chemical-mime-data SUBDIR += chemicalfun SUBDIR += chemps2 SUBDIR += chemtool SUBDIR += chemtool-devel SUBDIR += chimes-calculator SUBDIR += chrono SUBDIR += cif-tools SUBDIR += clhep SUBDIR += clipper SUBDIR += code_saturne SUBDIR += conduit SUBDIR += coordgenlibs SUBDIR += cp2k SUBDIR += cp2k-data SUBDIR += cpcmx SUBDIR += csvtk SUBDIR += dakota SUBDIR += dalton SUBDIR += dd_package SUBDIR += devisor SUBDIR += dftbplus SUBDIR += dftd3 SUBDIR += dftd4 SUBDIR += dimod SUBDIR += dirac SUBDIR += dkh SUBDIR += dlib-cpp SUBDIR += drawxtl SUBDIR += dssp SUBDIR += dwave-preprocessing SUBDIR += dynare SUBDIR += eccodes SUBDIR += elk SUBDIR += elmerfem SUBDIR += epte SUBDIR += erd SUBDIR += ergo SUBDIR += erkale SUBDIR += erkale-pseudopotentials SUBDIR += fastcap SUBDIR += fasthenry SUBDIR += fastjet SUBDIR += feff10 SUBDIR += fleur SUBDIR += frontistr SUBDIR += fsom SUBDIR += fvcom SUBDIR += fvcom-mpi SUBDIR += gabedit SUBDIR += gamess-us SUBDIR += gbtolib SUBDIR += gchemutils SUBDIR += gcp SUBDIR += gdma SUBDIR += geant4 SUBDIR += gemmi SUBDIR += getdp SUBDIR += ghemical SUBDIR += ghmm SUBDIR += gnudatalanguage SUBDIR += gpaw-setups SUBDIR += gramps SUBDIR += gromacs SUBDIR += gsmc SUBDIR += h5utils SUBDIR += h5z-zfp SUBDIR += harminv SUBDIR += hdf SUBDIR += hdf5 SUBDIR += hdf5-110 SUBDIR += hdf5-18 SUBDIR += hdf5-21 SUBDIR += healpix SUBDIR += helfem SUBDIR += hepmc3 SUBDIR += highfive SUBDIR += hypre SUBDIR += iboview SUBDIR += isaac-cfd SUBDIR += jdftx SUBDIR += jmol SUBDIR += jstrack SUBDIR += kalzium SUBDIR += kim-api SUBDIR += kplib SUBDIR += kst SUBDIR += lammps SUBDIR += lamprop SUBDIR += latte SUBDIR += libaec SUBDIR += libccp4 SUBDIR += libcifpp SUBDIR += libcint SUBDIR += libctl SUBDIR += libecpint SUBDIR += libefp SUBDIR += libgetar SUBDIR += libghemical SUBDIR += libgridxc SUBDIR += libint SUBDIR += libint2 SUBDIR += libint2-psi4 SUBDIR += libkml SUBDIR += liblinear SUBDIR += libmbd SUBDIR += libmsym SUBDIR += libnegf SUBDIR += liboglappth SUBDIR += libpsml SUBDIR += libquantum SUBDIR += libssm SUBDIR += libsvm SUBDIR += libsvm-python SUBDIR += libvdwxc SUBDIR += libxc SUBDIR += liggghts SUBDIR += linearelasticity SUBDIR += linux-ai-ml-env SUBDIR += linux-zotero SUBDIR += luscus SUBDIR += m-aneos SUBDIR += madness SUBDIR += maeparser SUBDIR += massxpert SUBDIR += mbdyn SUBDIR += mcpl SUBDIR += mcstas SUBDIR += mcstas-comps SUBDIR += mctc-lib SUBDIR += mcxtrace SUBDIR += mcxtrace-comps SUBDIR += mdynamix SUBDIR += medit SUBDIR += meep SUBDIR += metaphysicl SUBDIR += minc2 SUBDIR += mmdb2 SUBDIR += mmg SUBDIR += mmtf-cpp SUBDIR += mol2ps SUBDIR += molgif SUBDIR += molscript SUBDIR += molsketch SUBDIR += mopac SUBDIR += mp2d SUBDIR += mpb SUBDIR += mpqc SUBDIR += mrchem SUBDIR += mrcpp SUBDIR += msms SUBDIR += mstore SUBDIR += multicharge SUBDIR += multiwfn SUBDIR += mutationpp SUBDIR += namd SUBDIR += ncrystal + SUBDIR += neko SUBDIR += nest SUBDIR += netcdf SUBDIR += netcdf-cxx SUBDIR += netcdf-fortran SUBDIR += nifticlib SUBDIR += nlcglib SUBDIR += numsa SUBDIR += nwchem SUBDIR += nwchem-data SUBDIR += ocean SUBDIR += octopus SUBDIR += openbabel SUBDIR += openems SUBDIR += openkim-models SUBDIR += openmc SUBDIR += openmodelica SUBDIR += openmolcas SUBDIR += openmx SUBDIR += opensim-core SUBDIR += opensph SUBDIR += opsin SUBDIR += optench SUBDIR += orthanc SUBDIR += orthanc-dicomweb SUBDIR += orthanc-mysql SUBDIR += orthanc-postgresql SUBDIR += orthanc-webviewer SUBDIR += p5-Chemistry-3DBuilder SUBDIR += p5-Chemistry-Bond-Find SUBDIR += p5-Chemistry-Canonicalize SUBDIR += p5-Chemistry-Elements SUBDIR += p5-Chemistry-File-MDLMol SUBDIR += p5-Chemistry-File-Mopac SUBDIR += p5-Chemistry-File-PDB SUBDIR += p5-Chemistry-File-SLN SUBDIR += p5-Chemistry-File-SMARTS SUBDIR += p5-Chemistry-File-SMILES SUBDIR += p5-Chemistry-File-VRML SUBDIR += p5-Chemistry-File-XYZ SUBDIR += p5-Chemistry-FormulaPattern SUBDIR += p5-Chemistry-InternalCoords SUBDIR += p5-Chemistry-Isotope SUBDIR += p5-Chemistry-MacroMol SUBDIR += p5-Chemistry-MidasPattern SUBDIR += p5-Chemistry-Mok SUBDIR += p5-Chemistry-Mol SUBDIR += p5-Chemistry-OpenSMILES SUBDIR += p5-Chemistry-Pattern SUBDIR += p5-Chemistry-Reaction SUBDIR += p5-Chemistry-Ring SUBDIR += p5-Geo-BUFR SUBDIR += p5-Geo-Calc SUBDIR += p5-Geo-Coordinates-Converter SUBDIR += p5-Geo-Coordinates-Converter-iArea SUBDIR += p5-Geo-Coordinates-Transform SUBDIR += p5-Geo-WebService-Elevation-USGS SUBDIR += p5-Mcstas-Tools SUBDIR += p5-PerlMol SUBDIR += p5-Physics-Unit SUBDIR += packmol SUBDIR += pagmo2 SUBDIR += paje SUBDIR += paraview SUBDIR += parthenon SUBDIR += pastix SUBDIR += pcmsolver SUBDIR += phonopy SUBDIR += plumed SUBDIR += pnetcdf SUBDIR += polytope SUBDIR += precice SUBDIR += psi4 SUBDIR += pulseview SUBDIR += py-GPy SUBDIR += py-GPyOpt SUBDIR += py-HepMC3 SUBDIR += py-HofstadterTools SUBDIR += py-MDAnalysis SUBDIR += py-MDAnalysisTests SUBDIR += py-OpenFermion SUBDIR += py-OpenFermion-Dirac SUBDIR += py-OpenFermion-PySCF SUBDIR += py-OpenMC SUBDIR += py-PubChemPy SUBDIR += py-PyFR SUBDIR += py-PyNE SUBDIR += py-SimpleSpectral SUBDIR += py-abipy SUBDIR += py-access SUBDIR += py-arbor SUBDIR += py-arch SUBDIR += py-asap3 SUBDIR += py-asdf SUBDIR += py-asdf-standard SUBDIR += py-asdf-transform-schemas SUBDIR += py-ase SUBDIR += py-atomium SUBDIR += py-avogadrolibs SUBDIR += py-boutdata SUBDIR += py-boututils SUBDIR += py-cdo SUBDIR += py-cfgrib SUBDIR += py-chainer SUBDIR += py-chainer-chemistry SUBDIR += py-chempy SUBDIR += py-cirq-aqt SUBDIR += py-cirq-core SUBDIR += py-cirq-google SUBDIR += py-cirq-ionq SUBDIR += py-cirq-pasqal SUBDIR += py-cirq-web SUBDIR += py-coards SUBDIR += py-corner SUBDIR += py-dftbplus SUBDIR += py-dftd4 SUBDIR += py-dimod SUBDIR += py-dipy SUBDIR += py-dlib SUBDIR += py-dwave-cloud-client SUBDIR += py-dwave-gate SUBDIR += py-dwave-greedy SUBDIR += py-dwave-hybrid SUBDIR += py-dwave-inspector SUBDIR += py-dwave-neal SUBDIR += py-dwave-networkx SUBDIR += py-dwave-ocean-sdk SUBDIR += py-dwave-optimization SUBDIR += py-dwave-preprocessing SUBDIR += py-dwave-samplers SUBDIR += py-dwave-system SUBDIR += py-dwave-tabu SUBDIR += py-dwavebinarycsp SUBDIR += py-earthpy SUBDIR += py-eccodes SUBDIR += py-emmet-core SUBDIR += py-esda SUBDIR += py-fresnel SUBDIR += py-gemmi SUBDIR += py-geolinks SUBDIR += py-geomet SUBDIR += py-geometer SUBDIR += py-geometric SUBDIR += py-gpaw SUBDIR += py-gsd SUBDIR += py-gwlearn SUBDIR += py-h5json SUBDIR += py-h5netcdf SUBDIR += py-h5py SUBDIR += py-h5pyd SUBDIR += py-hiPhive SUBDIR += py-hoomd-blue SUBDIR += py-icet SUBDIR += py-inequality SUBDIR += py-ipygany SUBDIR += py-jupyter_jsmol SUBDIR += py-kim-query SUBDIR += py-kimpy SUBDIR += py-kinematics SUBDIR += py-kliff SUBDIR += py-kpLib SUBDIR += py-liac-arff SUBDIR += py-libgetar SUBDIR += py-libpysal SUBDIR += py-lifelines SUBDIR += py-mdp SUBDIR += py-mercantile SUBDIR += py-meshio SUBDIR += py-mmcif SUBDIR += py-mmtf-python SUBDIR += py-mne SUBDIR += py-molmod SUBDIR += py-morphio SUBDIR += py-mp-api SUBDIR += py-mpcontribs-client SUBDIR += py-mplhep SUBDIR += py-mplhep-data SUBDIR += py-mrchem SUBDIR += py-ncrystal SUBDIR += py-neo SUBDIR += py-netCDF4 SUBDIR += py-netcdf-flattener SUBDIR += py-nglview SUBDIR += py-nibabel SUBDIR += py-obspy SUBDIR += py-oddt SUBDIR += py-openEMS SUBDIR += py-openbabel SUBDIR += py-openpiv SUBDIR += py-optking SUBDIR += py-paida SUBDIR += py-paramz SUBDIR += py-penaltymodel SUBDIR += py-periodictable SUBDIR += py-phono3py SUBDIR += py-phonopy SUBDIR += py-pnetcdf SUBDIR += py-pupynere SUBDIR += py-py3Dmol SUBDIR += py-pyaixi SUBDIR += py-pyberny SUBDIR += py-pycsw SUBDIR += py-pydicom SUBDIR += py-pydoe SUBDIR += py-pygeodesy SUBDIR += py-pygeometa SUBDIR += py-pygmo2 SUBDIR += py-pyked SUBDIR += py-pymatgen SUBDIR += py-pymatgen-analysis-alloys SUBDIR += py-pymatgen-core SUBDIR += py-pymbd SUBDIR += py-pymol SUBDIR += py-pynrrd SUBDIR += py-pyosf SUBDIR += py-pyphot SUBDIR += py-pyprecice SUBDIR += py-pyqubo SUBDIR += py-pysal SUBDIR += py-pyscf SUBDIR += py-pyteomics SUBDIR += py-qcelemental SUBDIR += py-qcengine SUBDIR += py-qcmanybody SUBDIR += py-qiskit SUBDIR += py-qspin SUBDIR += py-quantities SUBDIR += py-rmf SUBDIR += py-rmsd SUBDIR += py-ruffus SUBDIR += py-sarpy SUBDIR += py-scikit-fuzzy SUBDIR += py-scikit-learn SUBDIR += py-scikit-optimize SUBDIR += py-scikit-sparse SUBDIR += py-scimath SUBDIR += py-scipy SUBDIR += py-scoria SUBDIR += py-sdf SUBDIR += py-seekpath SUBDIR += py-segregation SUBDIR += py-segyio SUBDIR += py-signac SUBDIR += py-sklearn-pandas SUBDIR += py-skrebate SUBDIR += py-spaghetti SUBDIR += py-spglib SUBDIR += py-symfc SUBDIR += py-tensorflow SUBDIR += py-thewalrus SUBDIR += py-tobler SUBDIR += py-trainstation SUBDIR += py-trx-python SUBDIR += py-tweedledum SUBDIR += py-vedo SUBDIR += py-veusz SUBDIR += py-xbout SUBDIR += pybrain SUBDIR += pynn SUBDIR += q SUBDIR += qbox SUBDIR += qcl SUBDIR += qiskit-aer SUBDIR += qmcpack SUBDIR += qt6-quick3dphysics SUBDIR += quantum-espresso SUBDIR += quantum-espresso-pseudopotentials SUBDIR += quantum-jet SUBDIR += qwalk SUBDIR += rdkit SUBDIR += rmf SUBDIR += rubygem-ai4r SUBDIR += rubygem-cdo SUBDIR += rubygem-rgeo SUBDIR += rubygem-rgeo-geojson SUBDIR += rubygem-rgeo-proj4 SUBDIR += rubygem-rgeo-shapefile SUBDIR += rubygem-ruby-netcdf SUBDIR += salome-configuration SUBDIR += salome-kernel SUBDIR += scidavis SUBDIR += sciplot SUBDIR += seacas SUBDIR += segyio SUBDIR += serac SUBDIR += shelxle SUBDIR += siconos SUBDIR += siesta SUBDIR += sigrok-cli SUBDIR += sigrok-firmware SUBDIR += sigrok-firmware-fx2lafw SUBDIR += sigrok-firmware-utils SUBDIR += silo SUBDIR += simbody SUBDIR += simgrid SUBDIR += simint SUBDIR += simlib SUBDIR += simple-dftd3 SUBDIR += simsmith SUBDIR += sirius SUBDIR += smoldyn SUBDIR += sparta SUBDIR += spglib SUBDIR += spheral SUBDIR += step SUBDIR += sz3 SUBDIR += tblite SUBDIR += teem SUBDIR += tfel SUBDIR += tfel-edf SUBDIR += thermofun SUBDIR += tinker SUBDIR += trilinos SUBDIR += ttk SUBDIR += tweedledum SUBDIR += udunits SUBDIR += ukrmol+ SUBDIR += v_sim SUBDIR += vipster SUBDIR += vmd SUBDIR += voro++ SUBDIR += votca SUBDIR += wannier90 SUBDIR += wwplot SUBDIR += wxmacmolplt SUBDIR += xcfun SUBDIR += xcrysden SUBDIR += xdrawchem SUBDIR += xtb SUBDIR += yoda SUBDIR += zotero .include diff --git a/science/neko/Makefile b/science/neko/Makefile new file mode 100644 index 000000000000..142120520018 --- /dev/null +++ b/science/neko/Makefile @@ -0,0 +1,48 @@ +PORTNAME= neko +DISTVERSION= 1.0.3 +CATEGORIES= science +MASTER_SITES= https://github.com/ExtremeFLOW/neko/releases/download/v${DISTVERSION}/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Framework for high-order spectral element flow simulations +WWW= https://neko.cfd/ \ + https://github.com/ExtremeFLOW/neko + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPENDS= libjsonfortran.so:devel/json-fortran \ + libopenblas.so:math/openblas +TEST_DEPENDS= bash:shells/bash \ + ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}numpy>=0:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}json5>=0:devel/py-json5@${PY_FLAVOR} + +USES= fortran gmake libtool mpi:mpich pkgconfig python:test shebangfix + +SHEBANG_GLOB= *.sh + +GNU_CONFIGURE= yes + +BINARY_ALIAS= python=${PYTHON_CMD} + +do-test: + @${MKDIR} ${WRKSRC}/contrib/neko_log_parser + @${CP} ${FILESDIR}/neko_log_parser.py ${WRKSRC}/contrib/neko_log_parser/ + @${CHMOD} +x ${WRKSRC}/makeneko + @${REINPLACE_CMD} -e 's|^prefix=.*|prefix=${WRKSRC}|' \ + -e 's|^includedir_pkg=.*|includedir_pkg=${WRKSRC}/src|' \ + -e 's|^libdir=.*|libdir=${WRKSRC}/src/.libs|' \ + ${WRKSRC}/makeneko ${WRKSRC}/neko.pc + @cd ${WRKSRC}/tests/integration && ${SETENV} ${TEST_ENV} \ + PKG_CONFIG_PATH=${WRKSRC} \ + NEKO_EXEC=${WRKSRC}/src/neko \ + MAKENEKO_EXEC=${WRKSRC}/makeneko \ + PYTHONNOUSERSITE=1 \ + ${PYTHON_CMD} -m pytest -p no:xdist -p no:parallel \ + --launcher-script=${WRKSRC}/tests/integration/default_cpu_launcher.sh \ + tests + +# tests as of 1..3: 14 passed in 38.37s + +.include diff --git a/science/neko/distinfo b/science/neko/distinfo new file mode 100644 index 000000000000..ae06a4291a86 --- /dev/null +++ b/science/neko/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1778249730 +SHA256 (neko-1.0.3.tar.gz) = 29f01e671c4eccc919ed4e3cb912d0b0d1345d73a5c66f2c237ca342ac35e61b +SIZE (neko-1.0.3.tar.gz) = 14517977 diff --git a/science/neko/files/neko_log_parser.py b/science/neko/files/neko_log_parser.py new file mode 100644 index 000000000000..06afc506347f --- /dev/null +++ b/science/neko/files/neko_log_parser.py @@ -0,0 +1,192 @@ +import re +import argparse +from pprint import pprint +import json +import os + + +def parse_neko_log(log_lines): + data = {} + step_data = {} + current_step = None + + for line in log_lines: + # Step and time value + step_match = re.match(r"\s*Step\s*=\s*(\d+)\s*t\s*=\s*([\d.Ee+-]+)", line) + + # CFL and dt + cfl_match = re.match(r"\s*CFL:\s*([\d.Ee+-]+)\s+dt:\s*([\d.Ee+-]+)", line) + + # Field residuals + field_match = re.match( + r"\s*(\d+)\s+\|\s+(\S+)\s+(\d+)\s+([\d.Ee+-]+)\s+([\d.Ee+-]+)", line + ) + + # Total time for step + total_step_time_match = re.match( + r"\s*Total time for step\s+\d+\s+\(s\):\s+([\d.Ee+-]+)", line + ) + + if step_match: + if current_step is not None: + data[current_step] = step_data + current_step = int(step_match.group(1)) + time_value = float(step_match.group(2)) + step_data = { + "time": time_value, + "CFL": None, + "dt": None, + "total_step_time": None, + "fields": {}, + } + + elif cfl_match and current_step is not None: + step_data["CFL"] = float(cfl_match.group(1)) + step_data["dt"] = float(cfl_match.group(2)) + + elif total_step_time_match and current_step is not None: + step_data["total_step_time"] = float(total_step_time_match.group(1)) + + elif field_match: + _, field_name, iters, start_res, final_res = field_match.groups() + field_info = { + "iters": int(iters), + "start_residual": float(start_res), + "final_residual": float(final_res), + } + step_data["fields"][field_name.lower()] = field_info + + if current_step is not None: + data[current_step] = step_data + + return data + + +def flatten_parsed_data(parsed_data): + import numpy as np + + first_step = next(iter(parsed_data.values())) + all_fields = sorted(first_step["fields"].keys()) + + # Define the full list of column names + columns = ["step", "time", "CFL", "dt", "total_step_time"] + for field in all_fields: + columns += [ + f"{field}_iters", + f"{field}_start_residual", + f"{field}_final_residual", + ] + + # Create rows + rows = [] + for step_num, step in sorted(parsed_data.items()): + row = [ + step_num, + step.get("time"), + step.get("CFL"), + step.get("dt"), + step.get("total_step_time"), + ] + for field in all_fields: + field_data = step["fields"].get(field) + if field_data: + row.extend( + [ + field_data["iters"], + field_data["start_residual"], + field_data["final_residual"], + ] + ) + else: + row.extend([np.nan, np.nan, np.nan]) + rows.append(row) + + # Create and return the structured array + return np.array(rows), columns + + +def save_as_csv(array, columns, output_file): + import numpy as np + + header = ",".join(columns) + np.savetxt( + output_file, array, delimiter=",", header=header, comments="", fmt="%.17e" + ) + print(f"Saved CSV to {output_file}") + + +def save_as_hdf5(parsed_data, output_file): + import h5py + + array, columns = flatten_parsed_data(parsed_data) + num_rows = array.shape[0] + + # Separate root-level and field-level columns + root_keys = {"step", "time", "CFL", "dt", "total_step_time"} + field_data = {} # {field: {subkey: col_index}} + + for i, col in enumerate(columns): + if col in root_keys: + continue + parts = col.split("_") + if len(parts) == 2: + field, dataset = parts + elif ( + len(parts) == 3 + and parts[1] in {"start", "final"} + and parts[2] == "residual" + ): + field = parts[0] + dataset = f"{parts[1]}_residual" + else: + raise ValueError(f"Unrecognized column format: {col}") + field_data.setdefault(field, {})[dataset] = i + + with h5py.File(output_file, "w") as f: + # Write root-level datasets + for i, col in enumerate(columns): + if col in root_keys and col != "step": + f.create_dataset(col, data=array[:, i]) + + # Write field-specific groups and datasets + for field, subfields in field_data.items(): + grp = f.create_group(field) + for subkey, col_index in subfields.items(): + # Dataset names: iters, start_residual, final_residual + dataset_name = subkey + grp.create_dataset(dataset_name, data=array[:, col_index]) + + print(f"Saved HDF5 to {output_file}") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Parse a Neko log file.") + parser.add_argument("logfile", help="Path to the Neko log file") + parser.add_argument( + "-o", + "--output", + help="Output filename (supports .json, .csv, or .hdf5)", + required=True, + ) + + args = parser.parse_args() + output_ext = os.path.splitext(args.output)[1].lower() + + with open(args.logfile, "r") as f: + log_lines = f.readlines() + + parsed_data = parse_neko_log(log_lines) + + if output_ext == ".json": + with open(args.output, "w") as f: + json.dump(parsed_data, f, indent=2) + print(f"Saved JSON to {args.output}") + + elif output_ext == ".csv": + array, columns = flatten_parsed_data(parsed_data) + save_as_csv(array, columns, args.output) + elif output_ext == ".hdf5" or output_ext == ".h5": + save_as_hdf5(parsed_data, args.output) + + else: + print(f"Unsupported output format: {args.output} (use .json or .csv)") diff --git a/science/neko/files/patch-tests_integration_tests_test__demo_test__suite.py b/science/neko/files/patch-tests_integration_tests_test__demo_test__suite.py new file mode 100644 index 000000000000..51299f73b0a3 --- /dev/null +++ b/science/neko/files/patch-tests_integration_tests_test__demo_test__suite.py @@ -0,0 +1,13 @@ +-- Fix cylinder example path in demo test +-- This patch is needed to ensure tests pass on FreeBSD +--- tests/integration/tests/test_demo/test_suite.py.orig 2026-05-08 17:08:44 UTC ++++ tests/integration/tests/test_demo/test_suite.py +@@ -24,7 +24,7 @@ def test_demo(launcher_script, request, log_file, tmp_ + + # Either specify a case, or load it here into a json, manipulate + # and save a new case file. +- case_file = join(neko_dir, "examples", "cylinder", "cylinder.case") ++ case_file = join(neko_dir, "tests", "integration", "tests", "test_cylinder", "cylinder_part1.case") + + # Read the case file. We use json5 to allow comments in the case file. + with open(case_file, "r") as f: diff --git a/science/neko/files/patch-tests_integration_tests_test__examples_test__examples.py b/science/neko/files/patch-tests_integration_tests_test__examples_test__examples.py new file mode 100644 index 000000000000..ecb2df1173e2 --- /dev/null +++ b/science/neko/files/patch-tests_integration_tests_test__examples_test__examples.py @@ -0,0 +1,41 @@ +-- Filter examples to only those present in the distribution and use gmake +-- This patch is needed to ensure tests pass on FreeBSD +-- Filter examples to only those present in the distribution and use gmake +-- This patch is needed to ensure tests pass on FreeBSD +--- tests/integration/tests/test_examples/test_examples.py.orig 2026-05-08 17:08:44 UTC ++++ tests/integration/tests/test_examples/test_examples.py +@@ -20,7 +20,7 @@ examples_dir = join(neko_dir, "examples") + + examples_dir = join(neko_dir, "examples") + +-examples = { ++all_examples = { + "2d_cylinder": NekoTestCase( + case_file=join(examples_dir, "2d_cylinder", "2d_cylinder.case"), + user_file=join(examples_dir, "2d_cylinder", "2d_cylinder.f90"), +@@ -123,6 +123,7 @@ examples = { + user_file=join(examples_dir, "programming", "user_file_template.f90") + ), + } ++examples = {k: v for k, v in all_examples.items() if k in ['2d_cylinder', 'cyl_boundary_layer', 'hemi', 'lid', 'rayleigh_benard', 'rayleigh_benard_cylinder', 'tgv', 'turb_channel', 'turb_pipe']} + + + def manipulate_case(example, case, tmp_path): +@@ -149,7 +150,7 @@ def manipulate_case(example, case, tmp_path): + case_object["output_directory"] = str(tmp_path) + + +-@pytest.mark.parametrize("example", ["hemi", "rayleigh_benard", "cylinder"]) ++@pytest.mark.parametrize("example", ["hemi", "rayleigh_benard", "2d_cylinder"]) + #@pytest.mark.parametrize("example", examples.keys()) + def test_example_smoke(example, launcher_script, request, log_file, tmp_path): + """Run a smoke test for the specified Neko example. +@@ -222,7 +223,7 @@ def test_example_poisson(log_file): + """ + + result = subprocess.run( +- ["make", "-C", join(examples_dir, "poisson")], ++ ["gmake", "-C", join(examples_dir, "poisson")], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True) diff --git a/science/neko/pkg-descr b/science/neko/pkg-descr new file mode 100644 index 000000000000..2b26292904f3 --- /dev/null +++ b/science/neko/pkg-descr @@ -0,0 +1,7 @@ +Gemmi is a library, accompanied by a set of programs, developed primarily for +use in macromolecular crystallography (MX). For working with: +* macromolecular models (content of PDB, PDBx/mmCIF and mmJSON files), +* refinement restraints (CIF files), +* reflection data (MTZ and mmCIF formats), +* data on a 3D grid (electron density maps, masks, MRC/CCP4 format) +* crystallographic symmetry. diff --git a/science/neko/pkg-plist b/science/neko/pkg-plist new file mode 100644 index 000000000000..730d3eddbe05 --- /dev/null +++ b/science/neko/pkg-plist @@ -0,0 +1,559 @@ +bin/adios2_to_nek5000 +bin/average_field_in_space +bin/average_fields_in_time +bin/calc_lift_from_field +bin/genmeshbox +bin/makeneko +bin/map_to_equidistant_1d +bin/mesh_checker +bin/neko +bin/postprocess_fluid_stats +bin/prepart +bin/psnr +bin/rea2nbin +include/neko.h +include/neko/COMM.mod +include/neko/CUDA_INTF.mod +include/neko/CURVE.mod +include/neko/DATADIST.mod +include/neko/DEVICE.mod +include/neko/DISTDATA.mod +include/neko/ELEMENT.mod +include/neko/ENTITY.mod +include/neko/FACET_ZONE.mod +include/neko/HEX.mod +include/neko/HIP_INTF.mod +include/neko/HTABLE.mod +include/neko/JSON_UTILS.mod +include/neko/LOGGER.mod +include/neko/MATH.mod +include/neko/MESH.mod +include/neko/NEKO_CONFIG.mod +include/neko/NMSH.mod +include/neko/NUM_TYPES.mod +include/neko/OPENCL_INTF.mod +include/neko/OPENCL_PRGM_LIB.mod +include/neko/POINT.mod +include/neko/QUAD.mod +include/neko/STACK.mod +include/neko/STRUCTS.mod +include/neko/TUPLE.mod +include/neko/USET.mod +include/neko/UTILS.mod +include/neko/aabb.mod +include/neko/aabb_el_finder.mod +include/neko/aabb_pe_finder.mod +include/neko/aabb_tree.mod +include/neko/ab_time_scheme.mod +include/neko/adv_dealias.mod +include/neko/adv_dummy.mod +include/neko/adv_no_dealias.mod +include/neko/adv_oifs.mod +include/neko/advection.mod +include/neko/ax_helm.mod +include/neko/ax_helm_cpu.mod +include/neko/ax_helm_device.mod +include/neko/ax_helm_full.mod +include/neko/ax_helm_full_cpu.mod +include/neko/ax_helm_full_device.mod +include/neko/ax_helm_sx.mod +include/neko/ax_helm_xsmm.mod +include/neko/ax_product.mod +include/neko/bc.mod +include/neko/bc/bcknd/device/cuda/bc_utils.h +include/neko/bc/bcknd/device/cuda/dirichlet_kernel.h +include/neko/bc/bcknd/device/cuda/dong_outflow_kernel.h +include/neko/bc/bcknd/device/cuda/facet_normal_kernel.h +include/neko/bc/bcknd/device/cuda/inflow_kernel.h +include/neko/bc/bcknd/device/cuda/inhom_dirichlet_kernel.h +include/neko/bc/bcknd/device/cuda/neumann_kernel.h +include/neko/bc/bcknd/device/cuda/symmetry_kernel.h +include/neko/bc/bcknd/device/cuda/zero_dirichlet_kernel.h +include/neko/bc/bcknd/device/hip/bc_utils.h +include/neko/bc/bcknd/device/hip/dirichlet_kernel.h +include/neko/bc/bcknd/device/hip/dong_outflow_kernel.h +include/neko/bc/bcknd/device/hip/facet_normal_kernel.h +include/neko/bc/bcknd/device/hip/inflow_kernel.h +include/neko/bc/bcknd/device/hip/inhom_dirichlet_kernel.h +include/neko/bc/bcknd/device/hip/neumann_kernel.h +include/neko/bc/bcknd/device/hip/symmetry_kernel.h +include/neko/bc/bcknd/device/hip/zero_dirichlet_kernel.h +include/neko/bc/bcknd/device/opencl/bc_utils.h +include/neko/bc/bcknd/device/opencl/dirichlet_kernel.cl +include/neko/bc/bcknd/device/opencl/dong_outflow_kernel.cl +include/neko/bc/bcknd/device/opencl/facet_normal_kernel.cl +include/neko/bc/bcknd/device/opencl/inflow_kernel.cl +include/neko/bc/bcknd/device/opencl/inhom_dirichlet_kernel.cl +include/neko/bc/bcknd/device/opencl/neumann_kernel.cl +include/neko/bc/bcknd/device/opencl/symmetry_kernel.cl +include/neko/bc/bcknd/device/opencl/zero_dirichlet_kernel.cl +include/neko/bc_list.mod +include/neko/bdf_time_scheme.mod +include/neko/bicgstab.mod +include/neko/blasius.mod +include/neko/boussinesq_source_term.mod +include/neko/boussinesq_source_term_cpu.mod +include/neko/boussinesq_source_term_device.mod +include/neko/box_point_zone.mod +include/neko/bp_file.mod +include/neko/brinkman_source_term.mod +include/neko/buffer.mod +include/neko/buffer_1d.mod +include/neko/buffer_4d.mod +include/neko/buffer_4d_npar.mod +include/neko/cacg.mod +include/neko/cartesian_el_finder.mod +include/neko/cartesian_pe_finder.mod +include/neko/case.mod +include/neko/centrifugal_source_term.mod +include/neko/centrifugal_source_term_cpu.mod +include/neko/centrifugal_source_term_device.mod +include/neko/cg.mod +include/neko/cg_cpld.mod +include/neko/cg_cpld_device.mod +include/neko/cg_device.mod +include/neko/cg_sx.mod +include/neko/cheby.mod +include/neko/cheby_device.mod +include/neko/checkpoint.mod +include/neko/chkp_file.mod +include/neko/chkp_output.mod +include/neko/coefs.mod +include/neko/combine_point_zone.mod +include/neko/comm.mod +include/neko/comm/comm.h +include/neko/comm/comm_nccl.h +include/neko/common/bcknd/device/cuda/makebdf_kernel.h +include/neko/common/bcknd/device/cuda/makeext_kernel.h +include/neko/common/bcknd/device/cuda/makeoifs_kernel.h +include/neko/common/bcknd/device/cuda/projection_kernel.h +include/neko/common/bcknd/device/cuda/sumab_kernel.h +include/neko/common/bcknd/device/hip/makebdf_kernel.h +include/neko/common/bcknd/device/hip/makeext_kernel.h +include/neko/common/bcknd/device/hip/makeoifs_kernel.h +include/neko/common/bcknd/device/hip/projection_kernel.h +include/neko/common/bcknd/device/hip/sumab_kernel.h +include/neko/common/bcknd/device/opencl/rhs_maker_kernel.cl +include/neko/common/neko_log.h +include/neko/compressible_ops_cpu.mod +include/neko/compressible_ops_device.mod +include/neko/const_source_term.mod +include/neko/const_source_term_cpu.mod +include/neko/const_source_term_device.mod +include/neko/coriolis_source_term.mod +include/neko/coriolis_source_term_cpu.mod +include/neko/coriolis_source_term_device.mod +include/neko/cpr.mod +include/neko/craypat.mod +include/neko/csv_file.mod +include/neko/cuda_intf.mod +include/neko/cuda_mappings.mod +include/neko/cuda_math.mod +include/neko/curl_simcomp.mod +include/neko/curve.mod +include/neko/cylinder_point_zone.mod +include/neko/data_streamer.mod +include/neko/datadist.mod +include/neko/derivative_simcomp.mod +include/neko/device.mod +include/neko/device/cuda/check.h +include/neko/device/device_config.h +include/neko/device/hip/check.h +include/neko/device/opencl/check.h +include/neko/device/opencl/jit.h +include/neko/device/opencl/prgm_lib.h +include/neko/device_coef.mod +include/neko/device_dirichlet.mod +include/neko/device_dong_outflow.mod +include/neko/device_dynamic_smagorinsky_nut.mod +include/neko/device_facet_normal.mod +include/neko/device_gradient_jump_penalty.mod +include/neko/device_identity.mod +include/neko/device_inflow.mod +include/neko/device_inhom_dirichlet.mod +include/neko/device_jacobi.mod +include/neko/device_local_interpolation.mod +include/neko/device_math.mod +include/neko/device_mathops.mod +include/neko/device_neumann.mod +include/neko/device_projection.mod +include/neko/device_schwarz.mod +include/neko/device_sigma_nut.mod +include/neko/device_smagorinsky_nut.mod +include/neko/device_symmetry.mod +include/neko/device_tree_amg_smoother.mod +include/neko/device_vreman_nut.mod +include/neko/device_wale_nut.mod +include/neko/device_zero_dirichlet.mod +include/neko/dirichlet.mod +include/neko/distdata.mod +include/neko/divergence_simcomp.mod +include/neko/dofmap.mod +include/neko/dong_outflow.mod +include/neko/drag_torque.mod +include/neko/dynamic_smagorinsky.mod +include/neko/dynamic_smagorinsky_cpu.mod +include/neko/dynamic_smagorinsky_device.mod +include/neko/el_finder.mod +include/neko/element.mod +include/neko/elementwise_filter.mod +include/neko/entity.mod +include/neko/euler_res_cpu.mod +include/neko/euler_res_device.mod +include/neko/euler_res_sx.mod +include/neko/euler_residual.mod +include/neko/ext_time_scheme.mod +include/neko/facet_normal.mod +include/neko/facet_zone.mod +include/neko/fast3d.mod +include/neko/fdm.mod +include/neko/fdm_cpu.mod +include/neko/fdm_device.mod +include/neko/fdm_sx.mod +include/neko/fdm_xsmm.mod +include/neko/field.mod +include/neko/field_dirichlet.mod +include/neko/field_dirichlet_vector.mod +include/neko/field_list.mod +include/neko/field_math.mod +include/neko/field_series.mod +include/neko/field_series_list.mod +include/neko/field_writer.mod +include/neko/file.mod +include/neko/filter.mod +include/neko/filter/bcknd/device/cuda/mapping_kernels.h +include/neko/filter/bcknd/device/hip/mapping_kernels.h +include/neko/filter/bcknd/device/opencl/mapping_kernels.cl +include/neko/fld_file.mod +include/neko/fld_file_data.mod +include/neko/fld_file_output.mod +include/neko/flow_ic.mod +include/neko/flow_profile.mod +include/neko/fluid/bcknd/device/cuda/compressible_ops_kernel.h +include/neko/fluid/bcknd/device/cuda/euler_res_kernel.h +include/neko/fluid/bcknd/device/cuda/prs_res_kernel.h +include/neko/fluid/bcknd/device/cuda/vel_res_update_kernel.h +include/neko/fluid/bcknd/device/hip/compressible_ops_kernel.h +include/neko/fluid/bcknd/device/hip/euler_res_kernel.h +include/neko/fluid/bcknd/device/hip/prs_res_kernel.h +include/neko/fluid/bcknd/device/hip/vel_res_update_kernel.h +include/neko/fluid/bcknd/device/opencl/compressible_ops_compute_entropy_kernel.cl +include/neko/fluid/bcknd/device/opencl/compressible_ops_compute_max_wave_speed_kernel.cl +include/neko/fluid/bcknd/device/opencl/euler_res_kernel.cl +include/neko/fluid/bcknd/device/opencl/pnpn_res_kernel.cl +include/neko/fluid/stress_formulation/bcknd/device/cuda/prs_stress_res_kernel.h +include/neko/fluid/stress_formulation/bcknd/device/hip/prs_stress_res_kernel.h +include/neko/fluid/stress_formulation/bcknd/device/opencl/prs_stress_res_kernel.cl +include/neko/fluid_aux.mod +include/neko/fluid_output.mod +include/neko/fluid_pnpn.mod +include/neko/fluid_scheme_base.mod +include/neko/fluid_scheme_compressible.mod +include/neko/fluid_scheme_compressible_euler.mod +include/neko/fluid_scheme_incompressible.mod +include/neko/fluid_source_term.mod +include/neko/fluid_stats.mod +include/neko/fluid_stats_output.mod +include/neko/fluid_stats_simcomp.mod +include/neko/fluid_volflow.mod +include/neko/force_torque.mod +include/neko/fusedcg_cpld_device.mod +include/neko/fusedcg_device.mod +include/neko/gather_scatter.mod +include/neko/generic_file.mod +include/neko/glb_intrp_comm.mod +include/neko/global_interpolation.mod +include/neko/gmres.mod +include/neko/gmres_device.mod +include/neko/gmres_sx.mod +include/neko/gradient_jump_penalty.mod +include/neko/gradient_simcomp.mod +include/neko/gs/bcknd/device/cuda/gs_kernels.h +include/neko/gs/bcknd/device/cuda/gs_nvshmem_kernels.h +include/neko/gs/bcknd/device/hip/gs_kernels.h +include/neko/gs/bcknd/device/opencl/gs_kernels.cl +include/neko/gs_bcknd.mod +include/neko/gs_comm.mod +include/neko/gs_cpu.mod +include/neko/gs_device.mod +include/neko/gs_device_mpi.mod +include/neko/gs_device_nccl.mod +include/neko/gs_device_shmem.mod +include/neko/gs_mpi.mod +include/neko/gs_ops.mod +include/neko/gs_sx.mod +include/neko/hdf5_file.mod +include/neko/hex.mod +include/neko/hip_intf.mod +include/neko/hip_mappings.mod +include/neko/hip_math.mod +include/neko/hsmg.mod +include/neko/htable.mod +include/neko/identity.mod +include/neko/inflow.mod +include/neko/interpolation.mod +include/neko/intersection_detector.mod +include/neko/jacobi.mod +include/neko/jobctrl.mod +include/neko/json_utils.mod +include/neko/krylov.mod +include/neko/krylov/bcknd/device/cuda/fusedcg_cpld_kernel.h +include/neko/krylov/bcknd/device/cuda/fusedcg_kernel.h +include/neko/krylov/bcknd/device/cuda/gmres_kernel.h +include/neko/krylov/bcknd/device/cuda/pipecg_kernel.h +include/neko/krylov/bcknd/device/hip/fusedcg_cpld_kernel.h +include/neko/krylov/bcknd/device/hip/fusedcg_kernel.h +include/neko/krylov/bcknd/device/hip/gmres_kernel.h +include/neko/krylov/bcknd/device/hip/pipecg_kernel.h +include/neko/krylov/bcknd/device/opencl/jacobi_kernel.cl +include/neko/lambda2.mod +include/neko/legendre_rst_finder.mod +include/neko/les/bcknd/device/cuda/dynamic_smagorinsky_nut_kernel.h +include/neko/les/bcknd/device/cuda/sigma_nut_kernel.h +include/neko/les/bcknd/device/cuda/smagorinsky_nut_kernel.h +include/neko/les/bcknd/device/cuda/vreman_nut_kernel.h +include/neko/les/bcknd/device/cuda/wale_nut_kernel.h +include/neko/les/bcknd/device/hip/dynamic_smagorinsky_nut_kernel.h +include/neko/les/bcknd/device/hip/sigma_nut_kernel.h +include/neko/les/bcknd/device/hip/smagorinsky_nut_kernel.h +include/neko/les/bcknd/device/hip/vreman_nut_kernel.h +include/neko/les/bcknd/device/hip/wale_nut_kernel.h +include/neko/les_model.mod +include/neko/les_simcomp.mod +include/neko/local_interpolation.mod +include/neko/logger.mod +include/neko/map.mod +include/neko/map_1d.mod +include/neko/map_2d.mod +include/neko/map_file.mod +include/neko/mappings.mod +include/neko/mappings_cpu.mod +include/neko/mappings_device.mod +include/neko/mask.mod +include/neko/math.mod +include/neko/math/bcknd/device/cuda/ax_helm_full_kernel.h +include/neko/math/bcknd/device/cuda/ax_helm_kernel.h +include/neko/math/bcknd/device/cuda/cdtp_kernel.h +include/neko/math/bcknd/device/cuda/cfl_kernel.h +include/neko/math/bcknd/device/cuda/conv1_kernel.h +include/neko/math/bcknd/device/cuda/convect_scalar_kernel.h +include/neko/math/bcknd/device/cuda/dudxyz_kernel.h +include/neko/math/bcknd/device/cuda/fdm_kernel.h +include/neko/math/bcknd/device/cuda/lambda2_kernel.h +include/neko/math/bcknd/device/cuda/math_kernel.h +include/neko/math/bcknd/device/cuda/mathops_kernel.h +include/neko/math/bcknd/device/cuda/opgrad_kernel.h +include/neko/math/bcknd/device/cuda/rotate_kernel.h +include/neko/math/bcknd/device/cuda/schwarz_kernel.h +include/neko/math/bcknd/device/cuda/set_convect_rst_kernel.h +include/neko/math/bcknd/device/cuda/tensor_kernel.h +include/neko/math/bcknd/device/device_mpi_op.h +include/neko/math/bcknd/device/device_mpi_reduce.h +include/neko/math/bcknd/device/device_nccl_op.h +include/neko/math/bcknd/device/device_nccl_reduce.h +include/neko/math/bcknd/device/hip/ax_helm_full_kernel.h +include/neko/math/bcknd/device/hip/ax_helm_kernel.h +include/neko/math/bcknd/device/hip/cdtp_kernel.h +include/neko/math/bcknd/device/hip/cfl_kernel.h +include/neko/math/bcknd/device/hip/conv1_kernel.h +include/neko/math/bcknd/device/hip/convect_scalar_kernel.h +include/neko/math/bcknd/device/hip/dudxyz_kernel.h +include/neko/math/bcknd/device/hip/fdm_kernel.h +include/neko/math/bcknd/device/hip/lambda2_kernel.h +include/neko/math/bcknd/device/hip/math_kernel.h +include/neko/math/bcknd/device/hip/mathops_kernel.h +include/neko/math/bcknd/device/hip/opgrad_kernel.h +include/neko/math/bcknd/device/hip/rotate_kernel.h +include/neko/math/bcknd/device/hip/schwarz_kernel.h +include/neko/math/bcknd/device/hip/set_convect_rst_kernel.h +include/neko/math/bcknd/device/hip/tensor_kernel.h +include/neko/math/bcknd/device/opencl/ax_helm_full_kernel.cl +include/neko/math/bcknd/device/opencl/ax_helm_kernel.cl +include/neko/math/bcknd/device/opencl/cdtp_kernel.cl +include/neko/math/bcknd/device/opencl/cfl_kernel.cl +include/neko/math/bcknd/device/opencl/conv1_kernel.cl +include/neko/math/bcknd/device/opencl/convect_scalar_kernel.cl +include/neko/math/bcknd/device/opencl/dudxyz_kernel.cl +include/neko/math/bcknd/device/opencl/fdm_kernel.cl +include/neko/math/bcknd/device/opencl/lambda2_kernel.cl +include/neko/math/bcknd/device/opencl/math_kernel.cl +include/neko/math/bcknd/device/opencl/mathops_kernel.cl +include/neko/math/bcknd/device/opencl/opgrad_kernel.cl +include/neko/math/bcknd/device/opencl/schwarz_kernel.cl +include/neko/math/bcknd/device/opencl/set_convect_rst_kernel.cl +include/neko/math/bcknd/device/opencl/tensor_kernel.cl +include/neko/mathops.mod +include/neko/matrix.mod +include/neko/matrix_math.mod +include/neko/mean_field.mod +include/neko/mean_field_output.mod +include/neko/mesh.mod +include/neko/mesh_field.mod +include/neko/mxm_wrapper.mod +include/neko/neko.mod +include/neko/neko_api.mod +include/neko/neko_api_user.mod +include/neko/neko_config.mod +include/neko/neko_mpi_types.mod +include/neko/neumann.mod +include/neko/nmsh.mod +include/neko/nmsh_file.mod +include/neko/non_normal.mod +include/neko/num_types.mod +include/neko/nvtx.mod +include/neko/octree.mod +include/neko/opencl_intf.mod +include/neko/opencl_mappings.mod +include/neko/opencl_math.mod +include/neko/opencl_prgm_lib.mod +include/neko/operators.mod +include/neko/opr_cpu.mod +include/neko/opr_device.mod +include/neko/opr_sx.mod +include/neko/opr_xsmm.mod +include/neko/output.mod +include/neko/output_controller.mod +include/neko/parmetis.mod +include/neko/pde_filter.mod +include/neko/pe_finder.mod +include/neko/phmg.mod +include/neko/pipecg.mod +include/neko/pipecg_device.mod +include/neko/pipecg_sx.mod +include/neko/pnpn_res_cpu.mod +include/neko/pnpn_res_device.mod +include/neko/pnpn_res_stress_cpu.mod +include/neko/pnpn_res_stress_device.mod +include/neko/pnpn_res_sx.mod +include/neko/pnpn_residual.mod +include/neko/point.mod +include/neko/point_interpolator.mod +include/neko/point_zone.mod +include/neko/point_zone_registry.mod +include/neko/precon.mod +include/neko/probes.mod +include/neko/profiler.mod +include/neko/projection.mod +include/neko/projection_vel.mod +include/neko/quad.mod +include/neko/re2.mod +include/neko/re2_file.mod +include/neko/rea.mod +include/neko/rea_file.mod +include/neko/redist.mod +include/neko/registry.mod +include/neko/registry_entry.mod +include/neko/rhs_maker.mod +include/neko/rhs_maker_cpu.mod +include/neko/rhs_maker_device.mod +include/neko/rhs_maker_sx.mod +include/neko/roctx.mod +include/neko/rough_log_law.mod +include/neko/rough_log_law_cpu.mod +include/neko/rough_log_law_device.mod +include/neko/runge_kutta_time_scheme.mod +include/neko/runtime_stats.mod +include/neko/scalar/bcknd/device/cuda/scalar_residual_update_kernel.h +include/neko/scalar/bcknd/device/hip/scalar_residual_update_kernel.h +include/neko/scalar/bcknd/device/opencl/scalar_residual_kernel.cl +include/neko/scalar_aux.mod +include/neko/scalar_ic.mod +include/neko/scalar_pnpn.mod +include/neko/scalar_residual.mod +include/neko/scalar_residual_cpu.mod +include/neko/scalar_residual_device.mod +include/neko/scalar_residual_sx.mod +include/neko/scalar_scheme.mod +include/neko/scalar_source_term.mod +include/neko/scalar_stats.mod +include/neko/scalar_stats_output.mod +include/neko/scalar_stats_simcomp.mod +include/neko/scalars.mod +include/neko/schwarz.mod +include/neko/scratch_registry.mod +include/neko/sem/bcknd/device/cuda/coef_kernel.h +include/neko/sem/bcknd/device/hip/coef_kernel.h +include/neko/sem/bcknd/device/opencl/coef_kernel.cl +include/neko/sem/bcknd/device/opencl/local_interpolation_kernel.cl +include/neko/shear_stress.mod +include/neko/sigma.mod +include/neko/sigma_cpu.mod +include/neko/sigma_device.mod +include/neko/signal.mod +include/neko/signed_distance.mod +include/neko/simcomp_executor.mod +include/neko/simulation.mod +include/neko/simulation_component.mod +include/neko/smagorinsky.mod +include/neko/smagorinsky_cpu.mod +include/neko/smagorinsky_device.mod +include/neko/source_term.mod +include/neko/source_term_handler.mod +include/neko/source_terms/bcknd/device/cuda/gradient_jump_penalty_kernel.h +include/neko/source_terms/bcknd/device/hip/gradient_jump_penalty_kernel.h +include/neko/space.mod +include/neko/spalding.mod +include/neko/spalding_cpu.mod +include/neko/spalding_device.mod +include/neko/speclib.mod +include/neko/spectral_error.mod +include/neko/sphere_point_zone.mod +include/neko/sponge_source_term.mod +include/neko/stack.mod +include/neko/stats.mod +include/neko/stats_quant.mod +include/neko/stl.mod +include/neko/stl_file.mod +include/neko/structs.mod +include/neko/sx_jacobi.mod +include/neko/symmetry.mod +include/neko/system.mod +include/neko/tensor.mod +include/neko/tensor_cpu.mod +include/neko/tensor_device.mod +include/neko/tensor_sx.mod +include/neko/tensor_xsmm.mod +include/neko/tet.mod +include/neko/tet_mesh.mod +include/neko/time_based_controller.mod +include/neko/time_interpolator.mod +include/neko/time_scheme.mod +include/neko/time_scheme_controller.mod +include/neko/time_state.mod +include/neko/time_step_controller.mod +include/neko/tree_amg.mod +include/neko/tree_amg_aggregate.mod +include/neko/tree_amg_multigrid.mod +include/neko/tree_amg_smoother.mod +include/neko/tree_amg_utils.mod +include/neko/tri.mod +include/neko/tri_mesh.mod +include/neko/tuple.mod +include/neko/user_access_singleton.mod +include/neko/user_intf.mod +include/neko/user_source_term.mod +include/neko/user_stats.mod +include/neko/uset.mod +include/neko/utils.mod +include/neko/vector.mod +include/neko/vector_math.mod +include/neko/vreman.mod +include/neko/vreman_cpu.mod +include/neko/vreman_device.mod +include/neko/vtk_file.mod +include/neko/wale.mod +include/neko/wale_cpu.mod +include/neko/wale_device.mod +include/neko/wall_model.mod +include/neko/wall_model_bc.mod +include/neko/wall_model_device.mod +include/neko/wall_models/bcknd/device/cuda/rough_log_law_kernel.h +include/neko/wall_models/bcknd/device/cuda/spalding_kernel.h +include/neko/wall_models/bcknd/device/cuda/wall_model_kernel.h +include/neko/wall_models/bcknd/device/hip/rough_log_law_kernel.h +include/neko/wall_models/bcknd/device/hip/spalding_kernel.h +include/neko/wall_models/bcknd/device/hip/wall_model_kernel.h +include/neko/weak_gradient_simcomp.mod +include/neko/zero_dirichlet.mod +lib/libneko.a +libdata/pkgconfig/neko.pc