Recent Releases of https://github.com/collab4exanbody/exanbody
https://github.com/collab4exanbody/exanbody - v2.0.5
What's Changed
gridparticleslicing
The slicing algorithm is not working fine. It allows to select a direction of projection onto which per-particle data is projected. That can be useful when analyzing shock simulations for example to extract stress or velocity profiles along the shock direction.
Usage example:
gridparticleslicing: { fields: [vx, vy, vz], thickness: 3. ang, direction: [1,0,0], average: ["vx", "vy", "vz"] }
Figure generated using ovito:
write_plot1d
The data projected onto a binned direction using gridparticleslicing outputs a Plot1D structure that can be taken as an input by the operator write_plot1d. This operator was improved to allow for a multicolumns .csv output if the boolean multicolomns is set to true and if multiple fields have been projected on the slice direction.
Usage example:
writeplot1d: { plotnames: [ "vx", "vy", "vz" ], separator: " ", filename: "sliceddata", multicolumns: true }
Figure generated using python:
averageneighborsscalar
Per-particle data can be averaged within a spherical domain with a user-defined radius. In addition, coefficients of a 4th order polynomial function (of distance to central particle) can be passed as input of the averageneighboursscalar operator. This operator is (for now) limited to scalar data.
Usage example:
averageneighborsscalar: { nbhfield: mass, avgfield: avgmass, rcut: 8.0 ang, weightfunction: [ 1.0, 0.0, 0.0, 0.0 ] } writexyz: { fields: [ mass, avgmass ], filename: "test_avg.xyz" }
Figure generated using ovito from testavg.xyz file:
<img width="400" alt="average
ghostupdateopt
The ghost update function now allows for updating optional fields that have been created dynamically by specific operators, as the average operator described above. Ghost update functions have multiple variants : - ghostupdateall : update all per-particle fields in ghost layers (but not the optional ones) - ghostupdateallnofv : update all per-particle fields except force and velocity vectors (but not the optional ones) - ghostupdater : update only positions - ghostupdateopt : update optional fields (as the ones generated with specific operators)
Usage example:
averageneighborsscalar: { nbhfield: mass, avgfield: avgmass, rcut: 8.0 ang, weightfunction: [ 1.0, 0.0, 0.0, 0.0 ] } writeparaview: { fields: [ mass, avgmass ], writeghost: true, filename: ghostsupdatedno } ghostupdateopt { optfields: [ "avgmass" ] } writeparaview: { fields: [ mass, avgmass ], writeghost: true, filename: ghostsupdatedyes }
Figures generated using paraview from ghostsupdatedno (left) and ghostupdatedyes (right) files:
Full Changelog: https://github.com/Collab4exaNBody/exaNBody/compare/v2.0.4...v2.0.5
- C++
Published by lafourcadep 7 months ago
https://github.com/collab4exanbody/exanbody - v2.0.4
What’s Changed in v2.0.4
- Improved integration with
onika: Support added for cases whereonikais already defined. - New variant of computecellparticles: Introduced an alternate version using
ComputeCellParticles… for improved modularity or flexibility. - Added Xnb Microcosmos module: Enhances or extends simulation capabilities with the new Microcosmos components.
- Bug fix: Corrected the default value behavior in
reduce_cell_particlesto ensure consistency across use cases.
- C++
Published by rprat-pro 7 months ago
https://github.com/collab4exanbody/exanbody - v2.0.1
What's Changed
- Parallel for 3d by @carrardt in https://github.com/Collab4exaNBody/exaNBody/pull/85
Full Changelog: https://github.com/Collab4exaNBody/exaNBody/compare/v2.0.0...release-v2.0.1
- C++
Published by rprat-pro 9 months ago
https://github.com/collab4exanbody/exanbody - v2.0.2
✨ What's Changed
🐛 Output Slot Error in Lattice Operator
Fixed an issue with the output slot in thelatticeoperator. An Optional slot can't be INPUT_OUTPUT.⚙️ Fix Reader + GPU +
set_fieldsConflict in exaDEM
Resolved a compatibility issue when combining the reader, GPU mode, andset_fieldsin exaDEM.
compact_memory_gridis now implemented as a function instead of a pure operator node.
- C++
Published by rprat-pro 9 months ago
https://github.com/collab4exanbody/exanbody - v2.0.0
Version 2.0.0:
Main features: - Onika is extracted to be a new repository - Connected componants analysis - Lattice collection with custom lattices
Minor features:
- Quadrics, user can define a 4d matrice
- Patch some issues : lattice generation, ghost update
- Read Quaternion from msp files
- Use array of indexes with compute_cell_particles routine instead of indexes 0 -> number_of_cells
- C++
Published by rprat-pro 11 months ago