diff --git a/_config.yml b/_config.yml index 41dcdae..5b38530 100644 --- a/_config.yml +++ b/_config.yml @@ -239,13 +239,6 @@ compress_html: envs: development -# Collections -collections: - projects: - output: true - permalink: /:collection/:path/ - - # Defaults defaults: # default page (where no layout is specified) @@ -263,19 +256,19 @@ defaults: overlay_color: "#4d4d4d" overlay_particles: true classes: wide - # _projects + # models - scope: - path: "_projects" - type: projects + path: "models" values: layout: single author_profile: false - read_time: true - comments: # true + read_time: false + comments: false share: false related: false + toc: false sidebar: - nav: "projects" + nav: "models" # scripts to include in head head_scripts: diff --git a/_data/benchmarks.yml b/_data/benchmarks.yml new file mode 100644 index 0000000..7272711 --- /dev/null +++ b/_data/benchmarks.yml @@ -0,0 +1,20 @@ +- name: "Circles Benchmark" + description: "Performance benchmarking of the Circles model using the C++ and C++ RTC interfaces and different communication strategies at various scales" + image_url: + video_url: + github_url: https://github.com/flamegpu/FLAMEGPU2-circles-benchmark + language: C++ + +- name: "Concurrency Benchmark" + description: "Performance benchmarking of concurrency within FLAME GPU 2" + image_url: + video_url: + github_url: https://github.com/flamegpu/FLAMEGPU2-concurrency-benchmark + language: C++ + +- name: "Ensemble Benchmark" + description: "Demonstration of the ensembles feature of FLAME GPU 2" + image_url: + video_url: + github_url: https://github.com/flamegpu/FLAMEGPU2-ensemble-benchmark + language: C++ \ No newline at end of file diff --git a/_data/models.yml b/_data/models.yml index 7a087b3..ff79e53 100644 --- a/_data/models.yml +++ b/_data/models.yml @@ -1,34 +1,29 @@ -- name: "Circles Benchmark" - description: "Performance benchmarking of the Circles model using the C++ and C++ RTC interfaces and different communication strategies at various scales" - image_url: - video_url: - github_url: https://github.com/flamegpu/FLAMEGPU2-circles-benchmark - language: C++ +- name: "Digital Twinning of Urban Transportation Systems with Fujitsu Research Europe" + description: "A road network simulation model of vehicles and junctions to create a digital twin of the Isle of Wight." + image_url: /assets/images/models/digital-twinning-tile.png + video_url: https://www.youtube.com/watch?v=hZPDgZZP5TM + more_url: /models/digital-twinning -- name: "Concurrency Benchmark" - description: "Performance benchmarking of concurrency within FLAME GPU 2" - image_url: - video_url: - github_url: https://github.com/flamegpu/FLAMEGPU2-concurrency-benchmark - language: C++ +- name: "Simulating Plastic Strain Accumulation in Rail Steel" + description: "A model of plastic strain accumulation in rail steels to understand structural failures." + image_url: /assets/images/models/rail-steel-tile.png + video_url: https://www.youtube.com/watch?v=_jRZMfsbwsw + more_url: /models/rail-steel + +- name: "Patient-specific Multi-Scale Tumor Growth Modelling" + description: "Cellular level modelling as part of a multi scale simulation approach for studying neuroblastoma" + image_url: /assets/images/models/primage-tile.png + video_url: https://vimeo.com/607559004/2f944666ad?fl=pl&fe=vl + more_url: /models/tumor-modelling -- name: "Ensemble Benchmark" - description: "Demonstration of the ensembles feature of FLAME GPU 2" - image_url: - video_url: - github_url: https://github.com/flamegpu/FLAMEGPU2-ensemble-benchmark - language: C++ +- name: "Testing Interventions for Infectious Disease Spread within Buildings" + description: "Large-scale epidemiological models of infectious disease spread within buildings" + image_url: /assets/images/models/forge4flame-tile.png + video_url: https://www.youtube.com/watch?v=H_RMj3LmD18 + more_url: /models/forge4flame -- name: "CUDA C++ Model Template" - description: "The template repository which can be used as a starting point for CUDA C++ FLAME GPU 2 models" - image_url: - video_url: - github_url: https://github.com/flamegpu/FLAMEGPU2-example-template - language: C++ - -- name: "Python Model Template" - description: "The template repository which can be used as a starting point for python FLAME GPU 2 models" - image_url: - video_url: - github_url: https://github.com/FLAMEGPU/FLAMEGPU2-python-example-template - language: Python \ No newline at end of file +- name: "Improving Passenger Boarding Rate and Reducing Risk at the Platform Train Interface " + description: "Evaluating how rolling stock characteristics such as door width and carriage layout affect passenger movement." + image_url: /assets/images/models/ratesetter-tile.png + video_url: https://www.youtube.com/watch?v=pvhDlSd1gyo + more_url: /models/ratesetter \ No newline at end of file diff --git a/_data/navigation.yml b/_data/navigation.yml index d708aa1..709e2a7 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -4,12 +4,19 @@ main: url: /download/ - title: "About" url: /about/ - # - title: "Projects" - # url: /projects/ - title: "Models" url: /models/ - title: "Documentation" url: /documentation/ - title: "Contact" url: /contact/ - \ No newline at end of file + +models: + - title: Models + children: + - title: "Case Studies" + url: /models/ + - title: "Benchmarks" + url: /models/benchmarking + - title: "Templates" + url: /models/templates/ \ No newline at end of file diff --git a/_data/templates.yml b/_data/templates.yml new file mode 100644 index 0000000..0e46d70 --- /dev/null +++ b/_data/templates.yml @@ -0,0 +1,13 @@ +- name: "CUDA C++ Model Template" + description: "The template repository which can be used as a starting point for CUDA C++ FLAME GPU 2 models" + image_url: + video_url: + github_url: https://github.com/flamegpu/FLAMEGPU2-example-template + language: C++ + +- name: "Python Model Template" + description: "The template repository which can be used as a starting point for Python FLAME GPU 2 models" + image_url: + video_url: + github_url: https://github.com/FLAMEGPU/FLAMEGPU2-python-example-template + language: Python \ No newline at end of file diff --git a/assets/images/models/digital-twinning-tile.png b/assets/images/models/digital-twinning-tile.png new file mode 100644 index 0000000..a26ef48 Binary files /dev/null and b/assets/images/models/digital-twinning-tile.png differ diff --git a/assets/images/models/digital-twinning.png b/assets/images/models/digital-twinning.png new file mode 100644 index 0000000..f2ff8be Binary files /dev/null and b/assets/images/models/digital-twinning.png differ diff --git a/assets/images/models/forge4flame-tile.png b/assets/images/models/forge4flame-tile.png new file mode 100644 index 0000000..18289b0 Binary files /dev/null and b/assets/images/models/forge4flame-tile.png differ diff --git a/assets/images/models/forge4flame.png b/assets/images/models/forge4flame.png new file mode 100644 index 0000000..4f3b8ea Binary files /dev/null and b/assets/images/models/forge4flame.png differ diff --git a/assets/images/models/primage-tile.png b/assets/images/models/primage-tile.png new file mode 100644 index 0000000..057dbf7 Binary files /dev/null and b/assets/images/models/primage-tile.png differ diff --git a/assets/images/models/primage.png b/assets/images/models/primage.png new file mode 100644 index 0000000..1c153b7 Binary files /dev/null and b/assets/images/models/primage.png differ diff --git a/assets/images/models/rail-steel-tile.png b/assets/images/models/rail-steel-tile.png new file mode 100644 index 0000000..82eb292 Binary files /dev/null and b/assets/images/models/rail-steel-tile.png differ diff --git a/assets/images/models/rail-steel.png b/assets/images/models/rail-steel.png new file mode 100644 index 0000000..2574416 Binary files /dev/null and b/assets/images/models/rail-steel.png differ diff --git a/assets/images/models/ratesetter-tile.png b/assets/images/models/ratesetter-tile.png new file mode 100644 index 0000000..c4cc83e Binary files /dev/null and b/assets/images/models/ratesetter-tile.png differ diff --git a/assets/images/models/ratesetter.png b/assets/images/models/ratesetter.png new file mode 100644 index 0000000..124e4ca Binary files /dev/null and b/assets/images/models/ratesetter.png differ diff --git a/models/benchmarking/index.md b/models/benchmarking/index.md new file mode 100644 index 0000000..51838fc --- /dev/null +++ b/models/benchmarking/index.md @@ -0,0 +1,36 @@ +--- +title: "FLAME GPU 2 Models" +permalink: "models/benchmarking" +--- + +In order to evaluate the performance of FLAME GPU a number of benchmarking models exist which evaluate different scaling aspects of FLAME GPUs features. + + +
+ {% for m in site.data.benchmarks %} +
+
+ {% if m.image_url %} + Image of {{ m.name }} Model in FLAME GPU 2 + {% else %} + {% if m.language == "Python" %} + Default Python model image in FLAME GPU 2 + {% else %} + Default C++ model image in FLAME GPU 2 + {% endif %} + {% endif %} +
+
+

{{ m.name }}

+
+ {{ m.description | markdownify }} +
+
+ +
+ {% endfor %} +
diff --git a/models/digital_twinning.md b/models/digital_twinning.md new file mode 100644 index 0000000..6062298 --- /dev/null +++ b/models/digital_twinning.md @@ -0,0 +1,15 @@ +--- +title: "Digital Twinning of Urban Transportation Systems with Fujitsu Research Europe " +permalink: "models/digital-twinning" +--- + +![Digital Twinning of Urban Transportation Systems Road Network Model Close-up]({{ "/assets/images/models/digital-twinning.png" | relative_url }}){: .align-right .no-shadow} + +In collaboration with Fujitsu Research of Europe, the FLAME GPU team undertook a collaborative development project to assist in applying FLAME GPU to the simulation of urban transportation systems in order to create a digital twin of the Isle of Wight. The focus of model development was on transportation micro-simulation and road networks (junctions). The developed model aims to replicate a subset of the individual and junction models from the open source Simulation of Urban MObility (SUMO) within FLAME GPU. Computational experiments have indicated that speedups over SUMO of ~68x are achievable on desktop GPUs (Intel Core i7-5930K CPU, an NVIDIA GeForce RTX 3090 (24 GiB) GPU). This is equivalent to simulating ~100x faster than real time with a maximum load of 95k vehicles. + + +## More Information + + - Smilovitskiy et al. "FLAME-GPU for Traffic Systems: A Scalable Agent-Based Simulation Framework." *Systems 2025, 13, 376. https://doi.org/10.3390/systems13050376* [Research Paper](https://www.mdpi.com/2079-8954/13/5/376) + + \ No newline at end of file diff --git a/models/forge4flame.md b/models/forge4flame.md new file mode 100644 index 0000000..f4ae443 --- /dev/null +++ b/models/forge4flame.md @@ -0,0 +1,22 @@ +--- +title: "Testing Interventions for Infectious Disease Spread within Buildings " +permalink: "models/forge4flame" +--- + +![Testing Interventions for Infectious Disease Spread within Buildings ]({{ "/assets/images/models/forge4flame.png" | relative_url }}){: .align-right .no-shadow} + +The [QBio group](https://qbio.di.unito.it/) in the Department of Computer Science at the University of Turin, with support from the FLAME GPU team, developed Forge4Flame, a user-friendly interface that makes it easier to harness the full power of FLAME GPU. Specifically, the tool streamlines the design, execution, and analysis of models by automatically generating the necessary FLAME GPU code and incorporating valuable visualisation and post-processing features. This makes the tool more accessible to a broader audience of researchers and public health professionals. + +By running large-scale epidemiological models of infectious disease spread within buildings on GPUs, FLAME GPU enables researchers to capture complex interactions in detail and deliver results dramatically faster than traditional CPU-based approaches. This performance opens up new opportunities for exploring dynamic behaviours in epidemiology and beyond. In the COVID-19 case study, FLAME GPU made it possible to model disease spread in an Italian middle school at unprecedented detail and speed, allowing rapid testing of interventions and vaccination strategies. While Forge4FLAME helped to streamline access, the true impact came from FLAME GPU’s ability to combine scale, speed, and accuracy. This brought advanced agent-based modelling within the reach of public health researchers, demonstrating its potential to influence decision-making in real-world crises. + +## Testimonial + +*[The Quantitative Biology group of the Department of Computer Science from the University of Turin (Italy)](https://qbio.di.unito.it/) collaborated closely with the FLAME GPU developers in the creation of the F4F tool, a graphical interface designed to simplify the modelling process and make agent-based modelling more accessible to a wider audience of researchers and public health professionals. The collaboration was highly synergistic, characterized by virtual meetings, open and constructive discussions. The FLAME GPU team’s expertise, responsiveness, and commitment were instrumental in guiding the technical development and ensuring seamless integration with the FLAME GPU framework. This collaboration not only advanced our project but also led to the joint preparation of a scientific paper.* - Simone Pernice, University of Turin (Italy) + + + +## More Information + + - Baccega, Daniele, et al. "Forge4Flame: An Intuitive Dashboard for Designing GPU Agent-Based Models to Simulate Infectious Disease Spread." Available at SSRN 5194584. https://doi.org/10.1016/j.simpat.2025.103205* [Research Paper](https://doi.org/10.1016/j.simpat.2025.103205) + + \ No newline at end of file diff --git a/models/index.md b/models/index.md index c4fa55b..1c50d3a 100644 --- a/models/index.md +++ b/models/index.md @@ -1,40 +1,25 @@ --- -title: "FLAME GPU 2 Models" +title: "FLAME GPU 2 Case Studies" +permalink: "models" --- -FLAME GPU 2 models can be contained in their own source code repositories. -This page provides a selection of models implemented in FLAME GPU 2, which can be built following the instructions provided with each repository. +FLAME GPU has been used within a wide range of industrial and research applications. Some examples are presented below. -If you would like to contribute your own model to this page you should use the FLAME GPU 2 example template and then [contact us](../contact) to include your model. - -FLAME GPU 1.x models are included with the FLAME GPU 1.x SDK, which can be found via the [download](../download) page. - - +
{% for m in site.data.models %}
{% if m.image_url %} - Image of {{ m.name }} Model in FLAME GPU 2 - {% else %} - {% if m.language == "Python" %} - Default Python model image in FLAME GPU 2 - {% else %} - Default C++ model image in FLAME GPU 2 - {% endif %} + Image of {{ m.name }} Model in FLAME GPU 2 {% endif %}
-

{{ m.name }}

+

{{ m.name }}

{{ m.description | markdownify }}
-
{% endfor %}
diff --git a/models/rail_steel.md b/models/rail_steel.md new file mode 100644 index 0000000..7d6fe89 --- /dev/null +++ b/models/rail_steel.md @@ -0,0 +1,21 @@ +--- +title: "Simulating Plastic Strain Accumulation in Rail Steel" +permalink: "models/rail-steel" +--- + +![Plastic Strain Accumulation in Rail Steel 3D Render]({{ "/assets/images/models/rail-steel.png" | relative_url }}){: .align-right .no-shadow} + +The modelling of plastic strain accumulation in rail steels, a process that is the root cause of a number of rail failure mechanisms, is generally a complex and computationally expensive task. Finite element techniques are usually limited to simulating only a few hundred wheel passes, which is representative of only a few hours of the in-service life of a rail. Thus, there exists a demand for methods that reduce the computation time required in order to better understand the long-term behaviour of rail materials. + +The Dynarat technique, an established method of simulation which represents rail response by discretising a section of rail material into bricks which accumulate strain in response to the maximum orthogonal shear stress experienced each cycle, was translated into an agent-based materials model using FLAMEGPU. + +Each material agent accumulates strain, in response to each wheel pass, in parallel. This allows for faster simulations of tens of thousands of cycles. With the reduction in computational expense, larger scale, 3d simulations with microstructurally distributed properties, can be introduced. Moreover, agent-based modelling facilitates communication between material agents, such that they can exchange information about their respective strain states and any discontinuities between them. + +This has facilitated the introduction of a novel failure mechanism which represents the effect of strain partitioning between microstructural constituents which could not have been represented before. + + +## More Information + + - [Featured on Page67 of “Rail Engineer magazine](https://www.railengineer.co.uk/rail-engineer-march-april-2025-rules-do-they-keep-track-workers-safe-better-possession-protection-hs2s-delta-junction/) + + \ No newline at end of file diff --git a/models/ratesetter.md b/models/ratesetter.md new file mode 100644 index 0000000..4e4b26e --- /dev/null +++ b/models/ratesetter.md @@ -0,0 +1,32 @@ +--- +title: "Improving Passenger Boarding Rate and Reducing Risk at the Platform Train Interface" +permalink: "models/ratesetter" +--- + +![Improving Passenger Boarding Rate and Reducing Risk at the Platform Train Interface]({{ "/assets/images/models/ratesetter.png" | relative_url }}){: .align-right .no-shadow} + +Researchers at the University of Sheffield have used FLAME GPU to power large-scale, real-time simulations of pedestrian movement, bringing agent-based modelling into practical railway applications. Through the RateSetter project, FLAME GPU was applied to the Passenger Train Interface (PTI) to model boarding and alighting flows, testing how rolling stock characteristics such as door width and carriage layout affect passenger movement. The tool was developed for the [Rail Safety and Standards Board (RSSB)](https://www.rssb.co.uk/) and [Merseyrail](https://www.merseyrail.org/), who sought to validate the model and gain practical insights ahead of a new fleet introduction. + +When COVID-19 disrupted normal operations, the project pivoted to simulate the impact of social distancing on station passenger flows. Using FLAME GPU, the team rapidly modelled multiple scenarios, showing how reduced proximity slowed passenger movements and identifying situations likely to cause delays. These insights were integrated with a network-level model developed in collaboration with Risk Solutions, enabling RSSB and Train Operating Companies to anticipate crowding effects across the network before restrictions were lifted. + +FLAME GPU was also used to simulate highly congested stations, including Peckham Rye, where old Victorian infrastructure causes significant crowding. The validated simulations allowed the team to test proposed platform redesigns, assess their likely effectiveness, and provide evidence-based recommendations to station managers. + +The combination of FLAME GPU’s speed, scale, and realism allowed the team to simulate tens of thousands of passengers in real time, providing actionable data for infrastructure planning and operational decision-making during a period of great uncertainty. This work highlighted the software’s unique capability to translate high-performance computing into practical solutions that improve safety, efficiency, and passenger experience in real-world settings. + + +## Testimonial + +*In 2018, Sheffield applied their Agent-Based Modelling approach, FLAME, to a railway application within the RSSB’s research call on Better, Safer, Faster Boarding and Alighting. This call focused on reducing risk and improving design at the Passenger-Train Interface. Sheffield modelled a number of rolling stock characteristics such as door width and internal carriage layout to improve boarding and alighting flow. RSSB and the rail industry were impressed by the tool and its capability and sought to apply it to a new rolling stock introduction, using Merseyrail as the example. This application aimed to validate the model and provide practical industry insight to Merseyrail as they prepared to introduce their new fleet of trains. Disruption due to the arrival of COVID-19 meant this industry deployment had to be put on hold. RSSB proposed a pivot to the project and asked Sheffield if they could apply the model to simulate the impact of the newly introduced social distancing on railway station passenger flows. The team worked hard and at a fast pace to provide the rail industry with early insight, particularly highlighting how social distancing would slow passenger flows as if in a crowding scenario. With these insights, RSSB was able to inform Network Rail and Train Operating Companies what to expect as passenger numbers increased.* + +*The provision of this early insight prompted more requests from the rail industry for modelling scenarios. Sheffield continued to work with RSSB but also collaborated with Risk Solutions, a private company that had developed a network modelling tool. Working together, the trio of Sheffield, RSSB, and Risk Solutions integrated social distancing elements into a network model to simulate expected changes to boarding and alighting times. The RateSetter simulations using the FLAME system were able to determine the increased time required for passengers to board and alight in a vast number of scenarios. This information was integrated into a network model of the railway to highlight how the increase in time would compound across the network. The results of this were presented to the industry in good time, before social distancing restrictions were lifted, and enabled the rail industry to understand the risks and scenarios ahead of time. The modelling confirmed that in general situations the impact would be minimal; however, the team was able to show that when the wrong circumstances were set, the impact would be more pronounced and could cause delays. The key points of these delay scenarios were highlighted to the industry, helping them to appraise their routes and monitor for precursors.* + +*This key work was able to deliver timely insight at a time of great uncertainty. The rail industry was very grateful for the insight and support.* - Robert Staunton, Head of Research Implementation, RSSB + + +## More Information + + - RateSetter+: the impact of social distancing on network performance ([RSSB COF-G22-01 Report - requires free signup](https://www.rssb.co.uk/research-catalogue/CatalogueItem/COF-G22-01)) + - RateSetter: Improving passenger boarding rate and reducing risk at the PTI ([RSSB COF-PTI-04 Report - requires free signup](https://www.rssb.co.uk/en/research-catalogue/CatalogueItem/COF-PTI-04)) + - RateSetter+: COVID-19 application ([RSSB COF-G22-02 Report - requires free signup](https://www.rssb.co.uk/research-catalogue/CatalogueItem/COF-G22-02)) + + \ No newline at end of file diff --git a/models/templates/index.md b/models/templates/index.md new file mode 100644 index 0000000..a3a3dc0 --- /dev/null +++ b/models/templates/index.md @@ -0,0 +1,36 @@ +--- +title: "FLAME GPU 2 Models" +permalink: "models/templates" +--- + +The following templates are provided as a starting point for creating new FLAME GPU models. + + +
+ {% for m in site.data.templates %} +
+
+ {% if m.image_url %} + Image of {{ m.name }} Model in FLAME GPU 2 + {% else %} + {% if m.language == "Python" %} + Default Python model image in FLAME GPU 2 + {% else %} + Default C++ model image in FLAME GPU 2 + {% endif %} + {% endif %} +
+
+

{{ m.name }}

+
+ {{ m.description | markdownify }} +
+
+ +
+ {% endfor %} +
diff --git a/models/tumor-modelling.md b/models/tumor-modelling.md new file mode 100644 index 0000000..c2722ab --- /dev/null +++ b/models/tumor-modelling.md @@ -0,0 +1,17 @@ +--- +title: "Patient-specific Multi-Scale Tumor Growth Modelling" +permalink: "models/tumor-modelling" +--- + +![Patient-specific Multi-Scale Tumor Growth Modelling]({{ "/assets/images/models/primage.png" | relative_url }}){: .align-right .no-shadow} + +FLAME GPU has been utilised within the PRIMAGE project (an EU project with 16 european partners) to provide cellular level modelling as part of a multi scale simulation approach for studying neuroblastoma, a type of childhood cancer. As part of a cloud based orchestrated approach, FLAME GPU provides the backend to the most computationally intense elements of the project which can be orchestrated to execute on High Performance Computing facilities. The performance allows for simulations running over extended periods of time using patient specific data to support clinical decision making. + + +## More Information + + - (EU Project Website](https://www.primageproject.eu/) + - Borau, Carlos, et al. "A multiscale orchestrated computational framework to reveal emergent phenomena in neuroblastoma." *Computer Methods and Programs in Biomedicine 241 (2023): 107742.* [Link to Paper](https://www.sciencedirect.com/science/article/pii/S016926072300408X) + - [Open Source Code on GitHub](https://github.com/primagesheffield/flamegpu2-neuroblastoma ) + +
\ No newline at end of file