benchmark_danilovskaya

NGSolve implementation of the 2nd Danilovskaya problem (thermo-elastic benchmark)

https://github.com/fwurtzer/benchmark_danilovskaya

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 15 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

NGSolve implementation of the 2nd Danilovskaya problem (thermo-elastic benchmark)

Basic Info
  • Host: GitHub
  • Owner: fwurtzer
  • License: gpl-3.0
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 802 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Created almost 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

Benchmark 2nd Danilovskaya problem

GitHub license GitHub release DOI

1) Description

This repository contains an NGSolve implementation of the second Danilovskaya problem [^1], which is a classical strongly coupled thermo-elasticity benchmark detailed by Shu & Stanciulescu [^2].

2) Quickstart

  • To run online with Binder (no installation required):

    • click on the following Binder link Binder
    • wait for the launch of the virtual machine
    • click on ThermoElasticity.ipynb
  • To run locally (installation required):

    • clone the repository or download its content (click on Code <>, then Download ZIP)
    • follow the installation instruction given hereafter
    • run ThermoElasticity.ipynb

3) Local installation (tested on Windows 10 and 11)

  1. Download and unzip the contents of the current github directory in any folder. Click on Code <>, then Download ZIP.
  2. Download and install Miniconda with the default options for your system.
  3. Open an Anaconda Prompt console (on Windows, type Anaconda prompt in the bottom-left search bar; on Linux and Mac, use the terminal directly).

From now on, write the following sequence of instructions on the console (you can copy the instructions and paste them into the console by right-clicking; press Enter after writing the instruction to execute it; press “y” to confirm when prompted) :

  1. Create a new environment called “benchmarkDanilovskaya” : `conda create -n benchmarkDanilovskaya python=3`.
  2. Activate the environment: conda activate benchmark_Danilovskaya.
  3. Install the necessary packages (500Mb): conda install jupyter numpy matplotlib (press y + Enter to confirm installation). If a freeze occurs, close the console and repeat steps 3, 5 and 6. Packages already downloaded will not be re-downloaded, which will make the process smoother.
  4. Install NGSolve (300Mb): pip install ngsolve.
  5. Install viewing extensions on notebooks:

    • pip install --upgrade webgui_jupyter_widgets
    • jupyter nbextension install --user --py webgui_jupyter_widgets
    • jupyter nbextension enable --user --py webgui_jupyter_widgets
  6. Launch Jupyter: jupyter notebook.

  7. In the file explorer that opens, select the folder where the code was download, and run ThermoElasticity.ipynb.

4) Citation

Please use the following citation reference if you use the code:

F. Wurtzer, T. Cherrière. Github repository: fwurtzer/Benchmark_Danilovskaya:latest, August 2024. Zenodo. URL https://doi.org/10.5281/zenodo.13370352

Bibtex entry:

@software{fwurtzer2024,
author       = {Wurtzer, Floriane and Cherrière, Théodore},
title        = {fwurtzer/Benchmark_Danilovskaia},
month        = aug,
year         = 2024,
publisher    = {Zenodo},
version      = {v0.1},
doi          = {10.5281/zenodo.13370352},
url          = {https://doi.org/10.5281/zenodo.13370352}
}

NB: version number and DOI must be adapted from Zenodo's repository.

5) License

Copyright (C) 2024 Floriane WURTZER (floriane.wurtzer@ens-paris-saclay.fr), Théodore CHERRIÈRE (theodore.cherriere@ricam.oeaw.ac.at)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

[^1]: Danilovskaya, V. (1952). On a dynamic problem of thermoelasticity. In Prikladnaya Matematicka i Mekhanika (Vol. 16, Issue 4, pp 341-344). [^2]: Shu, W., & Stanciulescu, I. (2019). Monolithic and Staggered Strategies Using Solid-Shell Formulations for Nonlinear Coupled Thermoelasticity. In Journal of Engineering Mechanics (Vol. 145, Issue 12). American Society of Civil Engineers (ASCE). DOI : 10.1061/(asce)em.1943-7889.0001669

Owner

  • Login: fwurtzer
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.1.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Wurtzer
  given-names: Floriane
- family-names: Cherrière
  given-names: Théodore
title: Benchmark_Danilovskaya
version: v0.1
date-released: 2024-08-24

GitHub Events

Total
  • Release event: 1
  • Push event: 1
  • Create event: 1
Last Year
  • Release event: 1
  • Push event: 1
  • Create event: 1

Dependencies

Pipfile pypi
  • matplotlib 3.8.4
  • ngsolve 6.2.2404.post51
  • notebook 7.1.3
  • numpy 2.1.0
  • webgui-jupyter-widgets 0.2.34