Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://doi.org/10.5281/zenodo.7598147
24 January 2025, 17:47:27 UTC
  • Code
  • Branches (0)
  • Releases (1)
  • Visits
    • Branches
    • Releases
      • 1
      • 1
    • b7dd6cb
    • /
    • VatsalSy-Drop-impact-on-viscous-liquid-films-ede5d66
    • /
    • README.md
    Raw File Download

    To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
    Select below a type of object currently browsed in order to display its associated SWHID and permalink.

    • content
    • directory
    • snapshot
    • release
    origin badgecontent badge Iframe embedding
    swh:1:cnt:b9d46faec2022e0a612391ae5d23d9750b2196b7
    origin badgedirectory badge Iframe embedding
    swh:1:dir:227c859cec7f5cca74335ab15d062c9ccbeae9fe
    origin badgesnapshot badge
    swh:1:snp:08e0bbb16876ed0ae34157161c40a1104822baa3
    origin badgerelease badge
    swh:1:rel:44ccb7cd690919e3be4788e53b5de17d7b02b330

    This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
    Select below a type of object currently browsed in order to generate citations for them.

    • content
    • directory
    • snapshot
    • release
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    Generate software citation in BibTex format (requires biblatex-software package)
    Generating citation ...
    README.md
    # Drop Impact on Viscous Liquid Films
    
    [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
    [![DOI](https://zenodo.org/badge/DOI/10.1017/jfm.2023.13.svg)](https://doi.org/10.1017/jfm.2023.13)
    [![GitHub release](https://img.shields.io/github/v/release/VatsalSy/Drop-impact-on-viscous-liquid-films)](https://github.com/VatsalSy/Drop-impact-on-viscous-liquid-films/releases)
    [![Basilisk](https://img.shields.io/badge/Powered%20by-Basilisk-green)](http://basilisk.fr)
    [![OpenMP](https://img.shields.io/badge/Parallel-OpenMP-orange)](http://openmp.org)
    [![MPI](https://img.shields.io/badge/Parallel-MPI-orange)](https://www.open-mpi.org)
    [![Issues](https://img.shields.io/github/issues/VatsalSy/Drop-impact-on-viscous-liquid-films)](https://github.com/VatsalSy/Drop-impact-on-viscous-liquid-films/issues)
    
    ## Overview
    This repository contains the code for simulating drop impacts on viscous liquid films. The code used in the paper "Drop impact on viscous liquid films" by Sanjay et al. (2022) is available as version [v1.0.0](https://github.com/VatsalSy/Drop-impact-on-viscous-liquid-films/releases/tag/v1.0.0).
    
    ## Latest Version (v2.0)
    Released on January 24, 2025, this version includes several improvements and changes from the published version:
    
    ### New Features
    - Independent control of film density separate from drop density
    - Independent control of surface tension at the film-air interface
    - More flexible parameter configuration
    - Added `reset_install_requirements.sh`, helping ensure codebase compatibility with the latest Basilisk version
    
    ### Repeating Variables
    1. Density of the drop
    2. Radius of the drop
    3. Surface tension of the drop-air interface
    
    ### Technical Updates
    - Improved default value configuration
    - Removed `omega` adaptation (incompatible with the newest Basilisk version for axisymmetric cases)
    - Removed `adapt_wavelet_limited` due to incompatibility with the newest Basilisk
      - For an `adapt_wavelet_limited` implementation, please refer to: [https://github.com/comphy-lab/adapt-wavelet-limited](https://github.com/comphy-lab/adapt-wavelet-limited)
    - Introduced `dirichlet(...)` for boundary conditions of `f1` and `f2`
      - For sufficiently high resolution, `f...[left] = ...;` and `f...[left] = dirichlet(...);` behave similarly. At limited resolutions, however, `dirichlet(...)` is more robust.
    
    ## Running the Code
    
    The simulation can be run in three different modes: serial, OpenMP (shared memory parallelism), or MPI (distributed memory parallelism). Example scripts for OpenMP and MPI are provided.
    
    ### Parameters
    The code accepts the following command-line arguments in order:
    ```
    ./dropFilm [MAXlevel] [tmax] [We] [Ohd] [Bo] [Ohf] [hf] [rhof] [sigma23]
    ```
    
    Default values are provided in the job scripts:
    - MAXlevel = 12 (grid refinement level)
    - tmax = 2.5 (simulation end time)
    - We = 4.0 (Weber number)
    - Ohd = 0.034 (Ohnesorge number for drop)
    - Bo = 0.5 (Bond number)
    - Ohf = 0.670 (Ohnesorge number for film)
    - hf = 0.10 (film height)
    - rhof = 1.0 (film density)
    - sigma23 = 1.0 (surface tension at film-air interface)
    
    ### 1. Serial Run
    ```shell
    qcc -O2 -Wall -disable-dimensions dropFilm.c -o dropFilm -lm
    ./dropFilm
    ```
    
    ### 2. OpenMP Run
    ```shell
    export OMP_NUM_THREADS=8  # Set desired number of threads
    qcc -O2 -Wall -disable-dimensions dropFilm.c -o dropFilm -lm
    ./dropFilm
    ```
    Alternatively, use the provided script:
    ```shell
    bash job-openMP.sh
    ```
    
    ### 3. MPI Run
    ```shell
    CC99='mpicc -std=c99' qcc -Wall -O2 -D_MPI=1 -disable-dimensions dropFilm.c -o dropFilm -lm
    mpirun -np 4 ./dropFilm  # Adjust number of processes as needed
    ```
    Alternatively, use the provided script:
    ```shell
    bash job-openMPI.sh
    ```
    
    ## License Information
    The codes are developed using [Basilisk C](http://basilisk.fr), which is a [free software program](https://en.wikipedia.org/wiki/Free_software). In that spirit, this repository is also part of the free software program.
    
    ## Contributing and Feedback
    
    We welcome various types of contributions and feedback. Please use our issue templates to ensure your feedback is addressed effectively:
    
    ### Issue Templates
    
    1. **🐛 Bug Reports** - [`[New Bug Report]`](../../issues/new?template=bug_report.md)
       - For reporting code issues, compilation errors, or unexpected behavior
       - Include system information and steps to reproduce
       - Attach relevant logs and screenshots
    
    2. **✨ Feature Requests** - [`[New Feature Request]`](../../issues/new?template=feature_request.md)
       - Suggest new features or improvements
       - Describe the problem you're trying to solve
       - Share implementation ideas if you have any
    
    3. **🔬 Scientific Comments** - [`[New Scientific Comment]`](../../issues/new?template=scientific_comment.md)
       - Discuss scientific aspects of the simulation
       - Share observations about numerical methods
       - Suggest improvements to physical modeling
       - Provide references and supporting evidence
    
    4. **💭 Open Discussions** - [`[New Discussion]`](../../issues/new?template=open_discussion.md)
       - Start general discussions about the project
       - Ask questions about implementation details
       - Share your experience using the code
    
    Click on the links above to create a new issue using the corresponding template. This helps us better understand and address your feedback.
    

    back to top

    Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
    The source code of Software Heritage itself is available on our development forge.
    The source code files archived by Software Heritage are available under their own copyright and licenses.
    Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API