From f2ff220aa5c96a67a63f3b1ca648a2fd4ef9841e Mon Sep 17 00:00:00 2001 From: prudhomm Date: Tue, 16 Jul 2024 08:16:50 +0200 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20feelpp/b?= =?UTF-8?q?ook.feelpp.org@b2b2c2467eebff3aefb9f3d1ac0fc568e7028ffc=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cases-old/latest/cfd/cyclone/README.html | 4 +- cases-old/latest/cfd/spring/README.html | 4 +- cases-old/latest/csm/ribs/index.html | 8 +- .../latest/csm/rotating-winch/index.html | 4 +- cases-old/latest/csm/sensor/index.html | 4 +- .../latest/csm/sheet-rounding/index.html | 8 +- cases-old/latest/csm/suspension/index.html | 4 +- cases-old/latest/csm/t-beam/index.html | 4 +- cases-old/latest/csm/torsion-bar/README.html | 4 +- .../latest/csm/vierendeel-truss/index.html | 4 +- cases-old/latest/fsi/structure/README.html | 4 +- cases-old/latest/hdg/2Dchannel/README.html | 4 +- cases-old/latest/hdg/red/README.html | 4 +- cases-old/latest/heat/2Dbuilding/README.html | 4 +- cases-old/latest/heat/3Dbuilding/README.html | 4 +- cases-old/latest/heat/opus/README.html | 32 +- .../heatfluid/2Dbuilding_NS/README.html | 4 +- .../thermoelectric/electromagnet/README.html | 8 +- contribute/vtkjs.html | 4 +- data/_images/girder/girder_web_ui.png | Bin 0 -> 228747 bytes data/data-description.html | 22 + data/data-storage.html | 26 +- data/data-types.html | 22 + data/data-visualisation.html | 26 +- data/girder/README.html | 626 +++++++++++++++ data/girder/api_keys.html | 632 +++++++++++++++ data/girder/python_scripts.html | 755 ++++++++++++++++++ data/index.html | 22 + data/plan/basics.html | 22 + data/plan/ethics.html | 22 + data/plan/fair.html | 22 + data/plan/index.html | 22 + data/plan/other-issues.html | 22 + data/plan/resources.html | 22 + data/plan/security.html | 22 + sitemap-angiotk.xml | 42 +- sitemap-cases-old.xml | 176 ++-- sitemap-cases.xml | 312 ++++---- sitemap-contribute.xml | 14 +- sitemap-data.xml | 36 +- sitemap-dev.xml | 348 ++++---- sitemap-feelpp-project.xml | 22 +- sitemap-feelpp-tutorial-dev.xml | 40 +- sitemap-feelpp.xml | 34 +- sitemap-home.xml | 18 +- sitemap-math.xml | 76 +- sitemap-mor.xml | 28 +- sitemap-salome.xml | 6 +- sitemap-toolboxes-old.xml | 118 +-- sitemap-toolboxes.xml | 546 ++++++------- sitemap-user.xml | 372 ++++----- toolboxes/latest/cfd/TurekHron/index.html | 38 +- toolboxes/latest/cfd/backwardstep/index.html | 42 +- toolboxes/latest/cfd/cyclone/index.html | 42 +- .../latest/cfd/flow_past_cylinder/index.html | 38 +- toolboxes/latest/cfd/fluid.html | 38 +- toolboxes/latest/cfd/index.html | 38 +- .../index.html | 38 +- toolboxes/latest/cfd/manual.html | 38 +- .../cfd/oscillating_cylinder/index.html | 42 +- toolboxes/latest/cfd/pipestokes/index.html | 48 +- .../vertical_falling_ellipse.html | 38 +- toolboxes/latest/cfd/spring/index.html | 42 +- .../cfd/stokes_boundary_layer/index.html | 48 +- toolboxes/latest/cfd/theory-turbulence.html | 38 +- toolboxes/latest/cfd/theory.html | 38 +- toolboxes/latest/cfd/toolbox.html | 38 +- .../latest/cfpdes/cahn-hilliard/index.html | 38 +- .../cfpdes/drift-diffusion-1/index.html | 38 +- toolboxes/latest/cfpdes/fluid/index.html | 38 +- .../cfpdes/heat/ISO_10211_2007/index.html | 38 +- toolboxes/latest/cfpdes/heat/index.html | 38 +- toolboxes/latest/cfpdes/index.html | 38 +- toolboxes/latest/cfpdes/manual.html | 38 +- .../latest/cfpdes/prey-predator/index.html | 38 +- toolboxes/latest/cfpdes/solid/index.html | 38 +- .../cfpdes/taylor-green-vortex/index.html | 38 +- toolboxes/latest/cfpdes/toolbox.html | 38 +- toolboxes/latest/core.html | 38 +- toolboxes/latest/csm/NAFEMS-le1/index.html | 38 +- toolboxes/latest/csm/NAFEMS-le10/index.html | 38 +- toolboxes/latest/csm/TurekHron/index.html | 38 +- toolboxes/latest/csm/cantilever/index.html | 42 +- toolboxes/latest/csm/index.html | 38 +- toolboxes/latest/csm/manual.html | 38 +- toolboxes/latest/csm/pendulum2D/index.html | 42 +- .../csm/pendulum2D/solid-information.html | 38 +- toolboxes/latest/csm/ribs/index.html | 54 +- .../latest/csm/ribs/solid-information.html | 38 +- .../latest/csm/rotating-winch/index.html | 46 +- toolboxes/latest/csm/sensor/index.html | 42 +- .../latest/csm/sensor/solid.information.html | 38 +- .../latest/csm/sheet-rounding/index.html | 46 +- toolboxes/latest/csm/solenoid/index.html | 42 +- toolboxes/latest/csm/solid.html | 38 +- toolboxes/latest/csm/spring/index.html | 38 +- .../latest/csm/spring/solid-information.html | 38 +- toolboxes/latest/csm/suspension/index.html | 42 +- .../csm/suspension/solid.information.html | 38 +- toolboxes/latest/csm/t-beam/index.html | 42 +- .../latest/csm/t-beam/solid-information.html | 38 +- toolboxes/latest/csm/theory.html | 38 +- toolboxes/latest/csm/toolbox.html | 38 +- toolboxes/latest/csm/torsion-bar/index.html | 42 +- .../latest/csm/vierendeel-truss/index.html | 42 +- .../vierendeel-truss/solid-information.html | 38 +- toolboxes/latest/electric/busbar/index.html | 38 +- toolboxes/latest/electric/electric.html | 38 +- toolboxes/latest/electric/index.html | 38 +- toolboxes/latest/electric/manual.html | 38 +- .../latest/electric/quarterturn/index.html | 38 +- toolboxes/latest/electric/theory.html | 38 +- toolboxes/latest/electric/toolbox.html | 38 +- toolboxes/latest/fsi/TurekHron/index.html | 42 +- toolboxes/latest/fsi/box/index.html | 50 +- toolboxes/latest/fsi/fsi.html | 38 +- toolboxes/latest/fsi/index.html | 38 +- .../latest/fsi/lid-driven-cavity/index.html | 46 +- toolboxes/latest/fsi/manual.html | 38 +- toolboxes/latest/fsi/structure/index.html | 54 +- toolboxes/latest/fsi/theory.html | 38 +- toolboxes/latest/fsi/toolbox.html | 38 +- .../latest/fsi/wavepressure2d/index.html | 42 +- .../latest/fsi/wavepressure3d/index.html | 38 +- toolboxes/latest/hdg/2Dchannel/index.html | 42 +- toolboxes/latest/hdg/hdg_coupledpoisson.html | 42 +- toolboxes/latest/hdg/hdg_elasticity.html | 48 +- toolboxes/latest/hdg/hdg_poisson.html | 48 +- toolboxes/latest/hdg/index.html | 38 +- toolboxes/latest/hdg/manual.html | 42 +- toolboxes/latest/hdg/mixedcoupledpoisson.html | 38 +- toolboxes/latest/hdg/mixedelasticity.html | 38 +- toolboxes/latest/hdg/mixedpoisson.html | 38 +- toolboxes/latest/hdg/red/index.html | 42 +- toolboxes/latest/hdg/theory.html | 38 +- toolboxes/latest/hdg/usquare/index.html | 38 +- toolboxes/latest/heat/2Dbuilding/index.html | 46 +- toolboxes/latest/heat/3Dbuilding/index.html | 46 +- .../latest/heat/ISO_10211_2007/index.html | 46 +- .../latest/heat/building-monozone/index.html | 38 +- toolboxes/latest/heat/cell/index.html | 46 +- toolboxes/latest/heat/glossary.html | 38 +- toolboxes/latest/heat/heat.html | 42 +- toolboxes/latest/heat/index.html | 38 +- toolboxes/latest/heat/introduction.html | 38 +- toolboxes/latest/heat/manual.html | 48 +- toolboxes/latest/heat/modeling.html | 48 +- toolboxes/latest/heat/motor/index.html | 48 +- toolboxes/latest/heat/opus/index.html | 78 +- .../latest/heat/radiative_cavity/index.html | 46 +- toolboxes/latest/heat/stent/index.html | 42 +- toolboxes/latest/heat/theory.html | 38 +- toolboxes/latest/heat/toolbox.html | 38 +- toolboxes/latest/heat/units.html | 38 +- .../latest/heatfluid/2Dbuilding_NS/index.html | 42 +- .../TurekHron/heatfluid-informations.html | 38 +- .../latest/heatfluid/TurekHron/index.html | 38 +- .../boundary_layer_development/index.html | 38 +- toolboxes/latest/heatfluid/cabin/index.html | 38 +- .../index.html | 38 +- toolboxes/latest/heatfluid/heatfluid.html | 38 +- toolboxes/latest/heatfluid/index.html | 38 +- toolboxes/latest/heatfluid/manual.html | 38 +- .../heatfluid/naturalconvection/index.html | 38 +- .../pipestokesmass/heatfluid-information.html | 38 +- .../heatfluid/pipestokesmass/index.html | 38 +- toolboxes/latest/heatfluid/theory.html | 38 +- toolboxes/latest/heatfluid/toolbox.html | 38 +- toolboxes/latest/index.html | 38 +- toolboxes/latest/maxwell/Harmonic/index.html | 46 +- toolboxes/latest/maxwell/Inductor/index.html | 42 +- toolboxes/latest/maxwell/Maxwell.html | 38 +- toolboxes/latest/maxwell/Strategy.html | 38 +- toolboxes/latest/maxwell/Torus/index.html | 42 +- toolboxes/latest/maxwell/Tws/index.html | 42 +- toolboxes/latest/maxwell/index.html | 38 +- toolboxes/latest/maxwell/manual.html | 42 +- toolboxes/latest/maxwell/mqs/AV.html | 38 +- toolboxes/latest/maxwell/mqs/index.html | 38 +- .../modeling-analysis-using-json-files.html | 38 +- toolboxes/latest/mso4sc/account.html | 38 +- toolboxes/latest/mso4sc/index.html | 38 +- toolboxes/latest/mso4sc/offer.html | 38 +- toolboxes/latest/mso4sc/portal.html | 38 +- toolboxes/latest/mso4sc/run.html | 38 +- toolboxes/latest/multifluid/drop2d/index.html | 38 +- toolboxes/latest/multifluid/drop3d/index.html | 38 +- toolboxes/latest/multifluid/index.html | 38 +- toolboxes/latest/multifluid/manual.html | 38 +- toolboxes/latest/multifluid/theory.html | 38 +- toolboxes/latest/multifluid/toolbox.html | 38 +- ...rametrized-simulation-using-cfg-files.html | 38 +- .../thermoelectric/electromagnet/index.html | 46 +- toolboxes/latest/thermoelectric/index.html | 38 +- toolboxes/latest/thermoelectric/manual.html | 38 +- .../latest/thermoelectric/peltier/index.html | 38 +- .../thermoelectric/quarterturn/index.html | 38 +- toolboxes/latest/thermoelectric/theory.html | 38 +- .../latest/thermoelectric/thermoelectric.html | 38 +- toolboxes/latest/thermoelectric/toolbox.html | 38 +- toolboxes/latest/what-is-a-toolbox.html | 38 +- user/0.109/using/tools/mesh_partitioner.html | 176 +++- user/0.110/using/tools/mesh_partitioner.html | 176 +++- user/latest/using/tools/mesh_partitioner.html | 176 +++- 204 files changed, 6870 insertions(+), 4281 deletions(-) create mode 100644 data/_images/girder/girder_web_ui.png create mode 100644 data/girder/README.html create mode 100644 data/girder/api_keys.html create mode 100644 data/girder/python_scripts.html diff --git a/cases-old/latest/cfd/cyclone/README.html b/cases-old/latest/cfd/cyclone/README.html index 7efe2fe74..1a5c0339b 100644 --- a/cases-old/latest/cfd/cyclone/README.html +++ b/cases-old/latest/cfd/cyclone/README.html @@ -590,9 +590,9 @@

7. Outputs

} -
+
-
+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+ +
+
+

1. File access options

+
+
+

A big advantage of girder is that files can be accessed either with a nice user +interface (in a web browser) or more programmatically (via CLI or programming +interfaces). +This is true for both upload and download.

+
+
+

1.1. Web browser UI

+
+

If you are new to Girder, you should start with the web user interface to +discover the service. +You are encouraged to read the documentation +documentation and especially the +user guide. +For example, using a web browser, you can reach +our server.

+
+ +++ + + + + + +

Web user interface

+
+ + + + + +
+ + +This is quite straightforward and it should illustrate important concepts +and help better visualize the following section. +
+
+
+
+

1.2. Python API

+
+

To download or upload a file using python, we have two options. +We can either use a login system (user + password) or an API key. +- With the user/password, we will need to provide a user and a password to +access files, just like a human would do using the UI. +- With an API key, the script only needs an API key. +This means we do not need to have an account on the Girder server.

+
+
+

In both cases, similar pieces of information are required:

+
+
+
    +
  • +

    an address (URL): to reach the server,

    +
  • +
  • +

    a file ID: to tell which file/directory we want to manipulate,

    +
  • +
  • +

    either a user/password pair or an API key: to grant access to the +required file(s).

    +
  • +
+
+
+
+

1.3. Feel++ remotedata tool

+
+

The application feelpp_remotedata can also be used to upload/download data from Girder, both files and entire folders. +Some examples of its usage follow, and additional information can be found here.

+
+
+
Download one file into a specific directory
+
+
feelpp_remotedata --download "girder:{file:5b1f8707b0e9570499f66bd0}" --data $HOME/mydir
+
+
+
+
Download one folder
+
+
feelpp_remotedata --download "girder:{folder:<folder-id>}"
+
+
+
+
Upload one file/folder (requires authentication)
+
+
feelpp_remotedata --upload "girder:{folder:<a folder id>}" --data $HOME/mydata
+
+
+
+

A Python interface to these functionalities is also available.

+
+
+
Download two files from Girder using Python
+
+
import feelpp as fpp
+app = fpp.Environment(["myapp"],config=fpp.localRepository(""))
+sm_csv_names = fpp.download( "girder:{file:[<file1-id>,<file2-id>]}", worldComm=app.worldCommPtr())
+# It is possible to download an entire folder in zip format
+# sm_csv_zipped_folder = fpp.download( "girder:{folder:<folder-id>}", worldComm=app.worldCommPtr())
+
+
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/data/girder/api_keys.html b/data/girder/api_keys.html new file mode 100644 index 000000000..1dc57d795 --- /dev/null +++ b/data/girder/api_keys.html @@ -0,0 +1,632 @@ + + + + + + Using API keys :: Feel++ Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+ +
+

Using API keys

+
+
+
+

An API key grants access to a certain set of files, with various permissions. +It is very useful and quite convenient to use. +Since it is nothing more than a character string, one could think of it as a +long and pseudorandom special password.

+
+
+ + + + + +
+ + +To learn how to set API keys, read +this part +of the documentation. +
+
+
+
+
+

1. Download

+
+
+

To use an API key to download a file, see this script:

+
+
+
+
#!/usr/bin/env python3
+
+
+# We need the girder client module.
+import girder_client
+
+# First, we initiate the client with the girder server address.
+gc = girder_client.GirderClient(apiUrl='https://girder.math.unistra.fr/api/v1')
+
+# We authenticate using only the API key
+gc.authenticate(apiKey='KEY')                   (1)
+
+# We download the file using its file ID. The path indicates where the file
+# should be written (the full file name should be included at the end of the path)
+gc.downloadFile(fileId='FILEID', path='PATH')   (2)
+
+
+
+ + + + + + + + + +
1KEY is the only needed information to authenticate.
2FILEID should be replaced by the actual Girder file ID and PATH should +be the path where to store the results, including the desired file name and +extension.
+
+
+
+
+

2. Upload

+
+
+

To upload using an API key:

+
+
+
+
#!/usr/bin/env python3
+
+
+# We need the girder client module.
+import girder_client
+
+# First, we initiate the client with the girder server address.
+gc = girder_client.GirderClient(apiUrl='https://girder.math.unistra.fr/api/v1')
+
+# We authenticate using only the API key
+gc.authenticate(apiKey='KEY')                   (1)
+
+# /!\ This is mandatory: we have to open the file in read mode before
+# uploading it
+f = open('PATH', 'r')                                 (2)
+
+# Now we can upload the file                            (3)
+gc.uploadFile(parentId='PID', stream=f, name="NAME", size=SIZE, parentType='TYPE')
+
+
+
+ + + + + + + + + + + + + +
1KEY is the only needed information to authenticate.
2PATH should be replaced by the full path to the file to read. +r stands for "read mode".
3PID should be replaced by the parent directory ID (on the Girder server). +f is the read stream defined previously . +NAME should be replaced by the desired file name (on the Girder server). +SIZE should be replaced by the file size (in bytes). +TYPE is either folder, user, or collection.
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/data/girder/python_scripts.html b/data/girder/python_scripts.html new file mode 100644 index 000000000..27873a173 --- /dev/null +++ b/data/girder/python_scripts.html @@ -0,0 +1,755 @@ + + + + + + Python scripts :: Feel++ Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+ +
+

Python scripts

+
+
+
+

Here, we provide some python scripts to access files on Girder. +To be able to use them, please install the girder client python module (read how +here. +)

+
+
+
+
+

1. With user and password

+
+
+

1.1. What not to do

+
+ + + + + +
+ + +The following script is only meant as a first approach to understand +how the module works. +You should not use it because it requires your password to be written in clear +in the script. +Use the interactive version instead. +
+
+
+
+
#!/usr/bin/env python3
+
+
+# We need the girder client module.
+import girder_client
+
+# First, we initiate the client with the girder server address.
+gc = girder_client.GirderClient(apiUrl='https://girder.math.unistra.fr/api/v1')
+
+# We authenticate using the username and the password.
+# /!\ This is for learning purpose.
+# For security reasons, you should never put your password in the script.
+gc.authenticate(username='USER', password='PASSWORD')   (1)
+
+# We download the file using its file ID. The path indicates where the file
+# should be written (the file name should be included at the end of the path)
+gc.downloadFile(fileId='FILEID', path='PATH')           (2)
+
+
+
+ + + + + + + + + +
1USER should be replaced by the Girder user name, +PASSWORD by the corresponding password
2FILEID should be replaced by the actual Girder file ID and PATH should +be the path where to store the results, including the desired file name and +extension.
+
+
+ + + + + +
+ + +If you don’t supply the file name, the system will not warn you, it +will automatically generate one, which could be confusing ! +
+
+
+ + + + + +
+ + +Remember not to use this script. Try the interactive one instead. +
+
+
+
+

1.2. Interactive download

+
+

Here, we use a modified version of the authenticate function to use +interactive login. +This means the password will be prompted for at run time.

+
+
+ + + + + +
+ + +This implies the script can not be used in a fully automated way, +because each execution of the script will require the user of the script to be +present to type the password. For a safe and automatic access, use the API keys. +
+
+
+
+
#!/usr/bin/env python3
+
+
+# We need the girder client module.
+import girder_client
+
+# First, we initiate the client with the girder server address.
+gc = girder_client.GirderClient(apiUrl='https://girder.math.unistra.fr/api/v1')
+
+# We authenticate using the username, the password will be typed at runtime
+gc.authenticate(username='USER', interactive=True)   (1)
+
+# We download the file using its file ID. The path indicates where the file
+# should be written (the full file name should be included at the end of the path)
+gc.downloadFile(fileId='FILEID', path='PATH')        (2)
+
+
+
+ + + + + + + + + +
1USER should be replaced by the Girder user name, and because of the +interactive=True argument, the password will be prompted for at runtime.
2FILEID should be replaced by the actual Girder file ID and PATH should be the path where to store the results, including the desired file name and extension.
+
+
+ + + + + +
+ + +We can even prompt the user to type both the user name and the password +by providing only the interactive=True argument ! +This is a better solution when multiple users are likely to use the script only +once or a handful of times each. +
+
+
+ + + + + +
+ + +If you don’t supply the file name, the system will not warn you, it +will automatically generate one, which could be confusing ! +
+
+
+
+

1.3. Interactive upload

+
+

To upload a file, only a few changes are required.

+
+
+
+
#!/usr/bin/env python3
+
+
+# We need the girder client module.
+import girder_client
+
+# First, we initiate the client with the girder server address.
+gc = girder_client.GirderClient(apiUrl='https://girder.math.unistra.fr/api/v1')
+
+# We authenticate using the username, the password will be typed at runtime
+gc.authenticate(username='USER', interactive=True)    (1)
+
+
+# /!\ This is mandatory: we have to open the file in read mode before
+# uploading it
+f = open('PATH', 'r')                                 (2)
+
+# Now we can upload the file                            (3)
+gc.uploadFile(parentId='PID', stream=f, name="NAME", size=SIZE, parentType='TYPE')
+
+
+
+ + + + + + + + + + + + + +
1USER should be replaced by the Girder user name, and because of the +interactive=True argument, the password will be prompted for at runtime.
2PATH should be replaced by the full path to the file to read. +r stands for "read mode".
3PID should be replaced by the parent directory ID (on the Girder server). +f is the read stream defined previously . +NAME should be replaced by the desired file name (on the Girder server). +SIZE should be replaced by the file size (in bytes). +TYPE is either folder, user, or collection.
+
+
+ + + + + +
+ + +We should try and find a way to get the file size automatically. +
+
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + diff --git a/data/index.html b/data/index.html index 120f8f0fa..4fd5da602 100644 --- a/data/index.html +++ b/data/index.html @@ -201,7 +201,25 @@

Data Manual

Data Storage + + + + + + + + + + @@ -403,9 +403,6 @@

Toolboxes Manual

Cases