| ▼ src | |
| ▼ bench | |
| ► examples | |
| TestBenchmark.cpp | |
| Common.h | |
| main.cpp | |
| Session.cpp | |
| Session.h | Benchmark |
| Stats.h | Benchmark statistics |
| ▼ cli | |
| ► batch | |
| Batch.cpp | |
| ► impact | |
| Impact.cpp | |
| ► info | |
| Info.cpp | |
| ► launcher | |
| Launcher.cpp | |
| ► meshtossf | |
| MeshToSsf.cpp | |
| ► problems | |
| ► boundary | |
| Boundary.cpp | Testing several boundary modes |
| ► cliff_collapse | |
| CliffCollapse.cpp | Cliff collapse test |
| ► collision | |
| Collision.cpp | Test of an asteroid collision |
| ► elastic_bands | |
| ElasticBands.cpp | Colliding elastic bands test |
| ► galaxy | |
| Galaxy.cpp | Initial conditions and the evolution of a galaxy |
| ► kelvin_helmholtz | |
| KelvinHelmholtz.cpp | Kelvin-Helmholtz instability |
| ► rotating_rod | |
| RotatingRod.cpp | Rotating rod test |
| ► sedov | |
| Sedov.cpp | Sedov blast test |
| ► sod | |
| Sod.cpp | Sod shock tube test |
| Solution.cpp | |
| Solution.h | |
| ► wave | |
| SoundWave.cpp | |
| Common.cpp | |
| Common.h | |
| main.cpp | |
| ► sandbox | |
| Sandbox.cpp | |
| ► ssftoout | |
| SsfToOut.cpp | |
| ► ssftoscf | |
| SsfToScf.cpp | |
| ► ssftotxt | |
| SsfToTxt.cpp | |
| ► ssftovdb | |
| SsfToVdb.cpp | |
| ▼ core | |
| ► common | |
| Assert.cpp | |
| Assert.h | Custom assertions |
| ForwardDecl.h | |
| Globals.h | Global parameters of the code |
| Traits.h | Few non-standard type traits |
| ► gravity | |
| ► benchmark | |
| Gravity.cpp | |
| AggregateSolver.cpp | |
| AggregateSolver.h | |
| BarnesHut.cpp | |
| BarnesHut.h | Barnes-Hut algorithm for computation of gravitational acceleration |
| BruteForceGravity.h | Simple gravity solver evaluating all particle pairs |
| CachedGravity.h | Wrapper of other IGravity object that uses cached accelerations to speed-up the evaluation |
| Collision.h | Collision handling |
| IGravity.h | Base class for solvers of gravity |
| Moments.h | |
| NBodySolver.cpp | |
| NBodySolver.h | Solver performing N-body simulation |
| SphericalGravity.h | Simple model of gravity, valid only for homogeneous spheres |
| SymmetricGravity.h | Wrapper of gravity implementation to be used with symmetric boundary conditions |
| ► io | |
| Column.h | Object for printing quantity values into output |
| FileManager.cpp | |
| FileManager.h | |
| FileSystem.cpp | |
| FileSystem.h | |
| Logger.cpp | |
| Logger.h | Logging routines of the run |
| LogWriter.cpp | |
| LogWriter.h | |
| Output.cpp | |
| Output.h | Saving and loading particle data |
| Path.cpp | |
| Path.h | Object representing a path on a filesystem, similar to std::filesystem::path in c++17 |
| Serializer.h | Data serialization and deserialization |
| Table.h | Helper container allowing to store strings in cells and print them into table |
| ► math | |
| ► rng | |
| Rng.cpp | |
| Rng.h | Random number generators |
| VectorRng.h | Objects for generating random vectors |
| AffineMatrix.h | Three-dimensional affine matrix |
| Curve.cpp | |
| Curve.h | |
| Functional.h | |
| MathBasic.h | Basic math routines |
| MathUtils.h | Additional math routines (with more includes) |
| Means.h | Computing minimum, maximum and mean value of floats |
| Morton.cpp | |
| Morton.h | |
| Quat.h | Quaternion algebra |
| SparseMatrix.cpp | |
| SparseMatrix.h | Sparse matrix with utility functions (a thin wrapper over Eigen3 implementation) |
| ► objects | |
| ► containers | |
| ► benchmark | |
| Map.cpp | |
| Allocators.h | Allocators used by containers |
| Array.h | Generic dynamically allocated resizable storage |
| ArrayRef.h | |
| ArrayView.h | Simple non-owning view of a container |
| CallbackSet.h | Container of callbacks |
| CircularArray.h | |
| FlatMap.h | Key-value associative container implemented as a sorted array |
| FlatSet.h | Container storing sorted unique values |
| Grid.h | Three-dimensional dynamically-allocated container |
| List.h | Doubly-linked list |
| LookupMap.h | Three-dimensional grid containing indices |
| Queue.h | Double-ended queue |
| StaticArray.h | |
| String.cpp | |
| String.h | Object representing a sequence of characters |
| Tuple.h | Re-implementation of std::tuple with some additional functionality |
| UnorderedMap.h | Key-value associative container |
| Volume.h | |
| ► finders | |
| ► benchmark | |
| Finders.cpp | |
| AdaptiveGrid.h | Finder projecting a non-uniform grid on particles |
| BruteForceFinder.h | Object finding nearest neighbours by evaluating all partice pairs |
| Bvh.h | |
| Bvh.inl.h | |
| HashMapFinder.cpp | |
| HashMapFinder.h | Finding neighbors using hash map |
| KdTree.cpp | |
| KdTree.h | K-d tree for efficient search of neighbouring particles |
| KdTree.inl.h | |
| LinkedList.h | |
| NeighbourFinder.cpp | |
| NeighbourFinder.h | |
| Octree.h | Implementation of Octree algorithm for kNN queries |
| Order.h | Helper object defining permutation |
| PeriodicFinder.cpp | |
| PeriodicFinder.h | |
| PointCloud.cpp | |
| PointCloud.h | |
| UniformGrid.cpp | |
| UniformGrid.h | Simple algorithm for finding nearest neighbours using spatial partitioning of particles |
| ► geometry | |
| AntisymmetricTensor.h | Basic algebra for antisymmetric 2nd order tensors |
| Box.h | Object representing a three-dimensional axis-aligned box |
| Domain.cpp | |
| Domain.h | Object defining computational domain |
| Generic.h | Function for generic manipulation with geometric types |
| Indices.h | Vectorized computations with integral numbers |
| Multipole.h | |
| Sphere.h | Object representing a three-dimensional sphere |
| SymmetricTensor.cpp | |
| SymmetricTensor.h | Basic algebra for symmetric 2nd order tensors |
| Tensor.h | Generic tensor of the 2nd order |
| TracelessTensor.h | Symmetric traceless 2nd order tensor |
| Triangle.h | |
| Vector.h | Basic vector algebra. Computations are accelerated using SIMD |
| ► utility | |
| ArrayUtils.h | Utilities to simplify working with arrays |
| Dynamic.cpp | |
| Dynamic.h | Object holding a single values of various types |
| EnumMap.h | Helper object for converting enums to string, listing all available values of enum, etc |
| Iterator.h | Ordinary iterator for custom containers |
| IteratorAdapters.h | Helper objects allowing to iterate in reverse, iterate over multiple containeres, etc |
| MemoryPool.h | |
| OperatorTemplate.h | Class defining additional operators from existing ones |
| OutputIterators.h | Helper iterators allowing to save values to containers |
| PerElementWrapper.h | |
| StringUtils.cpp | |
| StringUtils.h | |
| ► wrappers | |
| AlignedStorage.h | Base class for utility wrappers (Optional, Variant, ...) |
| Any.h | Object that can store value of any type |
| AutoPtr.h | Simplified implementation of std::unique_ptr, using only default deleter |
| ClonePtr.h | Smart pointer performing cloning of stored resource rather than copying pointer |
| Expected.h | Wrapper of type containing either a value or an error message |
| ExtendedEnum.h | |
| Finally.h | Wraps a functor and executes it once the wrapper goes out of scope |
| Flags.h | Wrapper over enum allowing setting (and querying) individual bits of the stored value |
| Function.h | Generic wrappers of lambdas, functors and other callables |
| Interval.cpp | |
| Interval.h | Object representing interval of real values |
| Locking.h | |
| LockingPtr.h | Smart pointer associated with a mutex |
| Lut.h | Approximation of generic function by look-up table |
| Optional.h | Wrapper of type value of which may or may not be present |
| Outcome.h | Return value of function that may fail, containing either SUCCEES (true) or error message |
| PropagateConst.h | Wrapper of another pointer-like object with reference-like const correctness |
| RawPtr.h | Simple non-owning wrapper of pointer |
| SafePtr.h | Safer alternative to AutoPtr, throwing exception when a nullptr is dereferenced |
| SharedPtr.h | |
| SharedToken.h | Helper class allowing to own a SharedPtr without knowing its type |
| Variant.h | Object capable of storing values of different types |
| Exceptions.h | |
| Object.h | Common macros and basic objects |
| ► physics | |
| Constants.h | Definitions of physical constaints (in SI units) |
| Damage.cpp | |
| Damage.h | |
| Eos.cpp | |
| Eos.h | Equations of state |
| Functions.cpp | |
| Functions.h | |
| Integrals.cpp | |
| Integrals.h | Integrals of motion and other integral quantities |
| Rheology.cpp | |
| Rheology.h | Rheology of materials |
| TimeFormat.cpp | |
| TimeFormat.h | Date and time routines |
| Units.cpp | |
| Units.h | |
| ► post | |
| Analysis.cpp | |
| Analysis.h | Various function for interpretation of the results of a simulation |
| Compare.cpp | |
| Compare.h | |
| MarchingCubes.cpp | |
| MarchingCubes.h | |
| Mesh.cpp | |
| Mesh.h | |
| MeshFile.cpp | |
| MeshFile.h | |
| Plot.cpp | |
| Plot.h | Drawing quantity values as functions of time or spatial coordinates |
| Point.h | 2D point and other primitives for 2D geometry |
| StatisticTests.cpp | |
| StatisticTests.h | |
| TwoBody.cpp | |
| TwoBody.h | |
| ► quantities | |
| CompressedStorage.h | |
| IMaterial.cpp | |
| IMaterial.h | Base class for all particle materials |
| Iterate.h | Functions for iterating over individual quantities in Storage |
| Particle.cpp | |
| Particle.h | |
| Quantity.cpp | |
| Quantity.h | Holder of quantity values and their temporal derivatives |
| QuantityHelpers.h | Conversions for quantity enums |
| QuantityIds.cpp | |
| QuantityIds.h | Quantity identifiers |
| Storage.cpp | |
| Storage.h | Container for storing particle quantities and materials |
| ► run | |
| ► jobs | |
| GeometryJobs.cpp | |
| GeometryJobs.h | |
| InitialConditionJobs.cpp | |
| InitialConditionJobs.h | |
| IoJobs.cpp | |
| IoJobs.h | |
| MaterialJobs.cpp | |
| MaterialJobs.h | |
| ParticleJobs.cpp | |
| ParticleJobs.h | |
| Presets.cpp | |
| Presets.h | |
| ScriptJobs.cpp | |
| ScriptJobs.h | |
| SimulationJobs.cpp | |
| SimulationJobs.h | |
| Config.cpp | |
| Config.h | Interface for the configuration files storing job data |
| IRun.cpp | |
| IRun.h | Basic interface defining a single run |
| Job.cpp | |
| Job.h | |
| Job.inl.h | |
| Node.cpp | |
| Node.h | |
| ScriptNode.cpp | |
| ScriptNode.h | |
| ScriptUtils.cpp | |
| ScriptUtils.h | Utility functions and classes exposed to the embedded scripting language |
| SpecialEntries.cpp | |
| SpecialEntries.h | Additional bindings to IVirtualSettings |
| Trigger.h | Triggers of auxiliary actions during the run |
| VirtualSettings.cpp | |
| VirtualSettings.h | Object providing connection between component parameters and values exposed to the user |
| VirtualSettings.inl.h | |
| ► sph | |
| ► boundary | |
| Boundary.cpp | |
| Boundary.h | Boundary conditions |
| ► equations | |
| ► av | |
| Balsara.h | Implementation of the Balsara switch |
| Conductivity.h | Artificial thermal conductivity |
| MorrisMonaghan.h | Time-dependent artificial viscosity by Morris & Monaghan (1997) |
| Riemann.h | Artificial viscosity based on Riemann solver |
| Standard.h | Standard SPH artificial viscosity |
| Stress.cpp | |
| Stress.h | Form of tensor artificial viscosity for SPH with stress tensor |
| Accumulated.cpp | |
| Accumulated.h | Buffer storing quantity values accumulated by summing over particle pairs |
| DeltaSph.h | Delta-SPH modification of the standard SPH formulation |
| Derivative.cpp | |
| Derivative.h | Spatial derivatives to be computed by SPH discretization |
| DerivativeHelpers.h | |
| EquationTerm.cpp | |
| EquationTerm.h | Right-hand side term of SPH equations |
| Fluids.h | Equations for simulations of water and other fluids |
| Friction.h | |
| Heat.h | Energy transfer terms |
| HelperTerms.h | Additional equation terms computing SPH statistics rather than physical quantities |
| Potentials.h | Additional forces that do not depend on spatial derivatives |
| Rotation.cpp | |
| Rotation.h | |
| XSph.h | XSPH correction to the integration of particle positions |
| Yorp.h | |
| ► handoff | |
| Handoff.cpp | |
| Handoff.h | Utility functions for handing-off the results of SPH simulations to N-body integrator |
| ► initial | |
| Distribution.cpp | |
| Distribution.h | Filling spatial domain with SPH particles |
| Galaxy.cpp | |
| Galaxy.h | |
| Initial.cpp | |
| Initial.h | Generating initial conditions of SPH particles |
| MeshDomain.cpp | |
| MeshDomain.h | Domain represented by triangular mesh |
| Stellar.cpp | |
| Stellar.h | |
| UvMapping.h | |
| ► kernel | |
| ► benchmark | |
| Kernel.cpp | |
| GravityKernel.h | Smoothing kernels for including gravity into SPH |
| Interpolation.h | Computes interpolated values of quantities between SPH particles |
| Kernel.h | SPH kernels |
| ► solvers | |
| ► benchmark | |
| Solvers.cpp | |
| AsymmetricSolver.cpp | |
| AsymmetricSolver.h | SPH solver with asymmetric particle evaluation |
| DensityIndependentSolver.cpp | |
| DensityIndependentSolver.h | Density-independent formulation of SPH |
| ElasticDeformationSolver.cpp | |
| ElasticDeformationSolver.h | |
| EnergyConservingSolver.cpp | |
| EnergyConservingSolver.h | |
| EntropySolver.h | |
| EquilibriumSolver.cpp | |
| EquilibriumSolver.h | Computes quantities to get equilibrium state |
| GradHSolver.cpp | |
| GradHSolver.h | Extension of SPH solver taking into account the gradient of smoothing lengths |
| GravitySolver.cpp | |
| GravitySolver.h | SPH solver including gravity |
| SimpleSolver.h | |
| StabilizationSolver.h | Helper solver used to converge into stable initial conditions |
| StandardSets.cpp | |
| StandardSets.h | Standard SPH formulation that uses continuity equation for solution of density |
| SummationSolver.cpp | |
| SummationSolver.h | Solver using direction summation to compute density and smoothing length |
| SymmetricSolver.cpp | |
| SymmetricSolver.h | Basic SPH solver, evaluating all interactions symmetrically |
| Diagnostics.cpp | |
| Diagnostics.h | Looking for problems in SPH simulation and reporting potential errors |
| Materials.cpp | |
| Materials.h | SPH-specific implementation of particle materials |
| ► system | |
| ArgsParser.cpp | |
| ArgsParser.h | |
| ArrayStats.h | |
| Crashpad.h | |
| Factory.cpp | |
| Factory.h | Creating code components based on values from settings |
| Platform.cpp | |
| Platform.h | System functions |
| Process.cpp | |
| Process.h | Creating and managing processes |
| Profiler.cpp | |
| Profiler.h | Tool to measure time spent in functions and profile the code |
| Settings.cpp | |
| Settings.h | Generic storage and input/output routines of settings |
| Settings.impl.h | |
| Statistics.cpp | |
| Statistics.h | Statistics gathered and periodically displayed during the run |
| Timer.cpp | |
| Timer.h | Measuring time intervals and executing periodic events |
| ► tests | |
| Approx.h | Helper wrapper that allows to check whether two values are equal to some given accuracy |
| Setup.cpp | |
| Setup.h | Helper functions performing common tasks in unit testing and benchmarks |
| ► thread | |
| AtomicFloat.h | Implementation of number with atomic operators |
| CheckFunction.cpp | |
| CheckFunction.h | Helper functions to check the internal consistency of the code |
| ConcurrentQueue.h | |
| OpenMp.cpp | |
| OpenMp.h | |
| Pool.cpp | |
| Pool.h | Simple thread pool with fixed number of threads |
| Scheduler.cpp | |
| Scheduler.h | Interface for executing tasks (potentially) asynchronously |
| Tbb.cpp | |
| Tbb.h | Implements IScheduler interface using TBB |
| ThreadLocal.h | Template for thread-local storage |
| ► timestepping | |
| ISolver.h | Base interface for all solvers |
| TimeStepCriterion.cpp | |
| TimeStepCriterion.h | Criteria for computing the time step |
| TimeStepping.cpp | |
| TimeStepping.h | Algorithms for temporal evolution of the physical model |
| Sph.h | Includes common headers |
| ▼ examples | |
| ► 01_hello_asteroid | |
| HelloAsteroid.cpp | |
| ► 02_death_star | |
| DeathStar.cpp | |
| ► 03_van_der_waals | |
| VanDerWaals.cpp | |
| ► 04_simple_collision | |
| SimpleCollision.cpp | |
| ► 05_fragmentation_reaccumulation | |
| FragmentationReaccumulation.cpp | |
| ► 06_heat_diffusion | |
| HeatDiffusion.cpp | |
| ▼ gui | |
| ► launcherGui | |
| LauncherGui.cpp | |
| LauncherGui.h | |
| ► objects | |
| Bitmap.cpp | |
| Bitmap.h | Wrapper of wxBitmap, will be possibly replaced by custom implementation |
| Camera.cpp | |
| Camera.h | Defines projection transforming 3D particles onto 2D screen |
| CameraJobs.cpp | |
| CameraJobs.h | |
| Color.h | |
| Colorizer.cpp | |
| Colorizer.h | Object converting quantity values of particles into colors |
| DelayedCallback.h | |
| Filmic.cpp | |
| Filmic.h | |
| GraphicsContext.h | Implementation of IDrawingContext using wxGraphicsContext |
| Movie.cpp | |
| Movie.h | Periodically saves rendered images to disk |
| Palette.cpp | |
| Palette.h | |
| Plots.cpp | |
| Plots.h | |
| Point.h | Simple 2D vector with integer coordinates. Provides conversion from and to wxPoint |
| RenderContext.cpp | |
| RenderContext.h | |
| RenderJobs.cpp | |
| RenderJobs.h | |
| SvgContext.h | Implementation of IDrawingContext for creating vector images (.svg) |
| Texture.h | |
| ► renderers | |
| Brdf.h | |
| ContourRenderer.cpp | |
| ContourRenderer.h | Renderer drawing iso-contours of specified quantity |
| FrameBuffer.h | |
| IRenderer.cpp | |
| IRenderer.h | Interface for renderers |
| MeshRenderer.cpp | |
| MeshRenderer.h | Renderer visualizing the surface as triangle mesh |
| ParticleRenderer.cpp | |
| ParticleRenderer.h | Renderer drawing individual particles as dots |
| RayTracer.cpp | |
| RayTracer.h | |
| Spectrum.cpp | |
| Spectrum.h | |
| VolumeRenderer.cpp | |
| VolumeRenderer.h | |
| ► sandboxGui | |
| SandboxGui.cpp | |
| ► ssftopng | |
| SsfToPng.cpp | |
| SsfToPng.h | |
| ► windows | |
| BatchDialog.cpp | |
| BatchDialog.h | |
| CurveDialog.cpp | |
| CurveDialog.h | |
| GridPage.cpp | |
| GridPage.h | |
| GuiSettingsDialog.cpp | |
| GuiSettingsDialog.h | |
| Icons.data.h | |
| IGraphicsPane.h | Base class for drawing particles into the window |
| MainWindow.cpp | |
| MainWindow.h | |
| NodePage.cpp | |
| NodePage.h | |
| OrthoPane.cpp | |
| OrthoPane.h | |
| PaletteDialog.cpp | |
| PaletteDialog.h | |
| ParticleProbe.cpp | |
| ParticleProbe.h | Frame showing information about selected particle |
| PlotView.cpp | |
| PlotView.h | Drawing of plots |
| ProgressPanel.h | |
| RenderPane.cpp | |
| RenderPane.h | |
| RunPage.cpp | |
| RunPage.h | |
| RunSelectDialog.cpp | |
| RunSelectDialog.h | |
| SessionDialog.cpp | |
| SessionDialog.h | |
| TimeLine.cpp | |
| TimeLine.h | |
| Widgets.cpp | |
| Widgets.h | |
| ArcBall.h | Helper class for rotating objects by mouse drag |
| Controller.cpp | |
| Controller.h | |
| Factory.cpp | |
| Factory.h | |
| MainLoop.cpp | |
| MainLoop.h | Posting events to be executed on main thread |
| Project.cpp | |
| Project.h | |
| Settings.cpp | |
| Settings.h | |
| Utils.cpp | |
| Utils.h | Random utility functions for drawing stuff to DC |
| ▼ post | |
| main.cpp | |
| helpers.py | |