Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ogs subdomains #95

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions tools/ogs/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: suite_ogs
owner: ufz
description: A suite of tools for OpenGeoSys (ogs)
long_description: |
A suite of tools for ogs
categories:
- Geo Science
remote_repository_url: https://github.com/Helmholtz-UFZ/galaxy-tools/tree/main/tools/ogs/
homepage_url: https://gitlab.opengeosys.org/ogs/ogs
type: unrestricted
auto_tool_repositories:
name_template: "{{ tool_id }}"
description_template: A suite of tools for OpenGeoSys (ogs)
suite:
name: suite_ogs
description: A suite of tools for ogs
long_description: |
A suite of tools for ogs
58 changes: 58 additions & 0 deletions tools/ogs/identifySubdomains.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<tool id="ogs_identifysubdomains" name="OGS IdentifySubdomains" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
<description>
Annotate subdomain meshes with bulk node and element IDs
</description>
<macros>
<import>macros.xml</import>
<token name="@VERSION_SUFFIX@">0</token>
</macros>
<requirements>
<expand macro="ogs_requirement"/>
</requirements>
<expand macro="creator"/>
tStehling marked this conversation as resolved.
Show resolved Hide resolved
<command detect_errors="exit_code"><![CDATA[
#import re

ln -s '$bulk_mesh' input.vtu &&
#for $file in $subdomain_meshes:
#set $identifier= re.sub(r'[^\w\-.]', '_', $file.element_identifier)
ln -s '$file' '$identifier' &&
#end for

identifySubdomains -m input.vtu -s $search_length -o output_ --
#for $file in $subdomain_meshes:
#set $identifier= re.sub(r'[^\w\-.]', '_', $file.element_identifier)
'$identifier'
#end for
]]></command>
<inputs>
<param name="bulk_mesh" type="data" format="vtkxml" label="Bulk Mesh File" help="The bulk mesh file in VTU format."/>
<param name="subdomain_meshes" type="data" format="vtkxml" multiple="true" label="Subdomain Mesh Files" help="One or more subdomain mesh files in VTU format."/>
<param name="search_length" type="float" min="1e-16" max="10.0" label="Search Length" help="Search radius for the node search algorithm."/>
</inputs>
<outputs>
<data name="output_mesh" format="vtkxml" label="Annotated Subdomain Meshes" from_work_dir="output_quater_circle.vtu"/>
tStehling marked this conversation as resolved.
Show resolved Hide resolved
</outputs>
<tests>
<test>
<param name="bulk_mesh" value="disc_with_hole.vtu"/>
<param name="subdomain_meshes" value="quater_circle.vtu"/>
<param name="search_length" value="1e-06"/>
<output name="output_mesh" file="output_quater_circle.vtu"/>
</test>
</tests>
<help><![CDATA[
**Overview:**

This tool checks if subdomain meshes are part of a given bulk mesh and annotates them with bulk node and element IDs. The results are written to new subdomain mesh files with the specified output prefix.

**Inputs:**
1. **Bulk Mesh File:** The primary bulk mesh file in VTU format.
2. **Subdomain Mesh Files:** One or more subdomain mesh files in VTU format.
tStehling marked this conversation as resolved.
Show resolved Hide resolved
3. **Search Length:** The radius for the node search algorithm.

**Outputs:**
- Annotated Subdomain Meshes: The subdomain meshes annotated with bulk node and element IDs.
]]></help>
<expand macro="ogs_citation"/>
</tool>
22 changes: 22 additions & 0 deletions tools/ogs/macros.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<macros>
<token name="@TOOL_VERSION@">6.5.3</token>
<token name="@PROFILE@">23.0</token>
<token name="@VERSION_SUFFIX@">0</token>

<xml name="ogs_requirement">
<requirement type="package" version="@TOOL_VERSION@">ogs</requirement>
<yield/>
</xml>

<xml name="ogs_citation">
<citations>
<citation type="doi">10.5281/zenodo.13685289</citation>
</citations>
</xml>

<xml name="creator">
<creator>
<organization name="Helmholtz Centre for Environmental Research - UFZ" url ="https://www.ufz.de/"/>
</creator>
</xml>
</macros>
Binary file added tools/ogs/test-data/disc_with_hole.vtu
Binary file not shown.
24 changes: 24 additions & 0 deletions tools/ogs/test-data/output_quater_circle.vtu
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="1.0" byte_order="LittleEndian" header_type="UInt64">
<UnstructuredGrid>
<Piece NumberOfPoints="31" NumberOfCells="30" >
<PointData>
<DataArray type="UInt64" Name="bulk_node_ids" format="appended" RangeMin="800" RangeMax="1111" offset="0" />
</PointData>
<CellData>
<DataArray type="UInt64" Name="bulk_element_ids" format="appended" RangeMin="735" RangeMax="1030" offset="344" />
</CellData>
<Points>
<DataArray type="Float64" Name="Points" NumberOfComponents="3" format="appended" RangeMin="1.9999999289" RangeMax="2.0000001344" offset="676" />
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="appended" RangeMin="" RangeMax="" offset="1680" />
<DataArray type="Int64" Name="offsets" format="appended" RangeMin="" RangeMax="" offset="2332" />
<DataArray type="UInt8" Name="types" format="appended" RangeMin="" RangeMax="" offset="2664" />
</Cells>
</Piece>
</UnstructuredGrid>
<AppendedData encoding="base64">
_+AAAAAAAAAAgAwAAAAAAACEDAAAAAAAAIgMAAAAAAAAjAwAAAAAAACQDAAAAAAAAJQMAAAAAAAAmAwAAAAAAACcDAAAAAAAAKAMAAAAAAAApAwAAAAAAACoDAAAAAAAAKwMAAAAAAAAsAwAAAAAAAC0DAAAAAAAALgMAAAAAAAAvAwAAAAAAADEDAAAAAAAARgMAAAAAAABbAwAAAAAAAHADAAAAAAAAhQMAAAAAAACaAwAAAAAAAK8DAAAAAAAAxAMAAAAAAADZAwAAAAAAAO4DAAAAAAAAAwQAAAAAAAAYBAAAAAAAAC0EAAAAAAAAQgQAAAAAAABXBAAAAAAAAA==8AAAAAAAAADfAgAAAAAAAOACAAAAAAAA4QIAAAAAAADiAgAAAAAAAOMCAAAAAAAA5AIAAAAAAADlAgAAAAAAAOYCAAAAAAAA5wIAAAAAAADoAgAAAAAAAOkCAAAAAAAA6gIAAAAAAADrAgAAAAAAAOwCAAAAAAAA7QIAAAAAAADuAgAAAAAAAAIDAAAAAAAAFgMAAAAAAAAqAwAAAAAAAD4DAAAAAAAAUgMAAAAAAABmAwAAAAAAAHoDAAAAAAAAjgMAAAAAAACiAwAAAAAAALYDAAAAAAAAygMAAAAAAADeAwAAAAAAAPIDAAAAAAAABgQAAAAAAAA=6AIAAAAAAAAAAABAx8u6PwAAAODF9P8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAACgYMLKPwAAAKAf0/8/AAAAAAAAAAAAAABgCwbUPwAAAKAkm/8/AAAAAAAAAAAAAADA2ZzaPwAAACD8TP8/AAAAAAAAAAAAAADAfZDgPwAAAEDd6P4/AAAAAAAAAAAAAABA78bjPwAAACAOb/4/AAAAAAAAAAAAAAAggO/mPwAAACDk3/0/AAAAAAAAAAAAAAAg+QfqPwAAAMDDO/0/AAAAAAAAAAAAAABALg7tPwAAACAgg/w/AAAAAAAAAAAAAAAAAADwPwAAAOB6tvs/AAAAAAAAAAAAAADgrm3xPwAAAMBj1vo/AAAAAAAAAAAAAAAgI8/yPwAAAIB34/k/AAAAAAAAAAAAAACAZCP0PwAAACBh3vg/AAAAAAAAAAAAAACghGn1PwAAAKDXx/c/AAAAAAAAAAAAAACAnqD2PwAAAICeoPY/AAAAAAAAAAAAAACg18f3PwAAAKCEafU/AAAAAAAAAAAAAAAgYd74PwAAAIBkI/Q/AAAAAAAAAAAAAACAd+P5PwAAACAjz/I/AAAAAAAAAAAAAADAY9b6PwAAAOCubfE/AAAAAAAAAAAAAADgerb7PwAAAAAAAPA/AAAAAAAAAAAAAAAgIIP8PwAAAEAuDu0/AAAAAAAAAAAAAADAwzv9PwAAACD5B+o/AAAAAAAAAAAAAAAg5N/9PwAAACCA7+Y/AAAAAAAAAAAAAAAgDm/+PwAAAEDvxuM/AAAAAAAAAAAAAABA3ej+PwAAAMB9kOA/AAAAAAAAAAAAAAAg/Ez/PwAAAMDZnNo/AAAAAAAAAAAAAACgJJv/PwAAAGALBtQ/AAAAAAAAAAAAAACgH9P/PwAAAKBgwso/AAAAAAAAAAAAAADgxfT/PwAAAEDHy7o/AAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAA=4AEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAFAAAAAAAAAAUAAAAAAAAABgAAAAAAAAAGAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACQAAAAAAAAAJAAAAAAAAAAoAAAAAAAAACgAAAAAAAAALAAAAAAAAAAsAAAAAAAAADAAAAAAAAAAMAAAAAAAAAA0AAAAAAAAADQAAAAAAAAAOAAAAAAAAAA4AAAAAAAAADwAAAAAAAAAPAAAAAAAAABAAAAAAAAAAEAAAAAAAAAARAAAAAAAAABEAAAAAAAAAEgAAAAAAAAASAAAAAAAAABMAAAAAAAAAEwAAAAAAAAAUAAAAAAAAABQAAAAAAAAAFQAAAAAAAAAVAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAXAAAAAAAAABcAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABkAAAAAAAAAGQAAAAAAAAAaAAAAAAAAABoAAAAAAAAAGwAAAAAAAAAbAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAdAAAAAAAAAB0AAAAAAAAAHgAAAAAAAAA=8AAAAAAAAAACAAAAAAAAAAQAAAAAAAAABgAAAAAAAAAIAAAAAAAAAAoAAAAAAAAADAAAAAAAAAAOAAAAAAAAABAAAAAAAAAAEgAAAAAAAAAUAAAAAAAAABYAAAAAAAAAGAAAAAAAAAAaAAAAAAAAABwAAAAAAAAAHgAAAAAAAAAgAAAAAAAAACIAAAAAAAAAJAAAAAAAAAAmAAAAAAAAACgAAAAAAAAAKgAAAAAAAAAsAAAAAAAAAC4AAAAAAAAAMAAAAAAAAAAyAAAAAAAAADQAAAAAAAAANgAAAAAAAAA4AAAAAAAAADoAAAAAAAAAPAAAAAAAAAA=HgAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM=
</AppendedData>
</VTKFile>
33 changes: 33 additions & 0 deletions tools/ogs/test-data/quater_circle.vtu
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32">
<UnstructuredGrid>
<Piece NumberOfPoints="31" NumberOfCells="30">
<PointData>
<DataArray type="UInt64" Name="bulk_node_ids" format="binary" RangeMin="800" RangeMax="1111">
+AAAACADAAAAAAAAIQMAAAAAAAAiAwAAAAAAACMDAAAAAAAAJAMAAAAAAAAlAwAAAAAAACYDAAAAAAAAJwMAAAAAAAAoAwAAAAAAACkDAAAAAAAAKgMAAAAAAAArAwAAAAAAACwDAAAAAAAALQMAAAAAAAAuAwAAAAAAAC8DAAAAAAAAMQMAAAAAAABGAwAAAAAAAFsDAAAAAAAAcAMAAAAAAACFAwAAAAAAAJoDAAAAAAAArwMAAAAAAADEAwAAAAAAANkDAAAAAAAA7gMAAAAAAAADBAAAAAAAABgEAAAAAAAALQQAAAAAAABCBAAAAAAAAFcEAAAAAAAA
</DataArray>
</PointData>
<CellData>
<DataArray type="UInt64" Name="bulk_element_ids" format="binary" RangeMin="735" RangeMax="1030">
8AAAAN8CAAAAAAAA4AIAAAAAAADhAgAAAAAAAOICAAAAAAAA4wIAAAAAAADkAgAAAAAAAOUCAAAAAAAA5gIAAAAAAADnAgAAAAAAAOgCAAAAAAAA6QIAAAAAAADqAgAAAAAAAOsCAAAAAAAA7AIAAAAAAADtAgAAAAAAAO4CAAAAAAAAAgMAAAAAAAAWAwAAAAAAACoDAAAAAAAAPgMAAAAAAABSAwAAAAAAAGYDAAAAAAAAegMAAAAAAACOAwAAAAAAAKIDAAAAAAAAtgMAAAAAAADKAwAAAAAAAN4DAAAAAAAA8gMAAAAAAAAGBAAAAAAAAA==
</DataArray>
</CellData>
<Points>
<DataArray type="Float64" Name="Points" NumberOfComponents="3" format="binary" RangeMin="1.9999999289" RangeMax="2.0000001344">
6AIAAAAAAEDHy7o/AAAA4MX0/z8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAKBgwso/AAAAoB/T/z8AAAAAAAAAAAAAAGALBtQ/AAAAoCSb/z8AAAAAAAAAAAAAAMDZnNo/AAAAIPxM/z8AAAAAAAAAAAAAAMB9kOA/AAAAQN3o/j8AAAAAAAAAAAAAAEDvxuM/AAAAIA5v/j8AAAAAAAAAAAAAACCA7+Y/AAAAIOTf/T8AAAAAAAAAAAAAACD5B+o/AAAAwMM7/T8AAAAAAAAAAAAAAEAuDu0/AAAAICCD/D8AAAAAAAAAAAAAAAAAAPA/AAAA4Hq2+z8AAAAAAAAAAAAAAOCubfE/AAAAwGPW+j8AAAAAAAAAAAAAACAjz/I/AAAAgHfj+T8AAAAAAAAAAAAAAIBkI/Q/AAAAIGHe+D8AAAAAAAAAAAAAAKCEafU/AAAAoNfH9z8AAAAAAAAAAAAAAICeoPY/AAAAgJ6g9j8AAAAAAAAAAAAAAKDXx/c/AAAAoIRp9T8AAAAAAAAAAAAAACBh3vg/AAAAgGQj9D8AAAAAAAAAAAAAAIB34/k/AAAAICPP8j8AAAAAAAAAAAAAAMBj1vo/AAAA4K5t8T8AAAAAAAAAAAAAAOB6tvs/AAAAAAAA8D8AAAAAAAAAAAAAACAgg/w/AAAAQC4O7T8AAAAAAAAAAAAAAMDDO/0/AAAAIPkH6j8AAAAAAAAAAAAAACDk3/0/AAAAIIDv5j8AAAAAAAAAAAAAACAOb/4/AAAAQO/G4z8AAAAAAAAAAAAAAEDd6P4/AAAAwH2Q4D8AAAAAAAAAAAAAACD8TP8/AAAAwNmc2j8AAAAAAAAAAAAAAKAkm/8/AAAAYAsG1D8AAAAAAAAAAAAAAKAf0/8/AAAAoGDCyj8AAAAAAAAAAAAAAODF9P8/AAAAQMfLuj8AAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAA==
</DataArray>
</Points>
<Cells>
<DataArray type="Int64" Name="connectivity" format="binary" RangeMin="0" RangeMax="30">
4AEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAMAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAUAAAAAAAAABQAAAAAAAAAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAJAAAAAAAAAAkAAAAAAAAACgAAAAAAAAAKAAAAAAAAAAsAAAAAAAAACwAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADQAAAAAAAAANAAAAAAAAAA4AAAAAAAAADgAAAAAAAAAPAAAAAAAAAA8AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABEAAAAAAAAAEQAAAAAAAAASAAAAAAAAABIAAAAAAAAAEwAAAAAAAAATAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAVAAAAAAAAABUAAAAAAAAAFgAAAAAAAAAWAAAAAAAAABcAAAAAAAAAFwAAAAAAAAAYAAAAAAAAABgAAAAAAAAAGQAAAAAAAAAZAAAAAAAAABoAAAAAAAAAGgAAAAAAAAAbAAAAAAAAABsAAAAAAAAAHAAAAAAAAAAcAAAAAAAAAB0AAAAAAAAAHQAAAAAAAAAeAAAAAAAAAA==
</DataArray>
<DataArray type="Int64" Name="offsets" format="binary" RangeMin="2" RangeMax="60">
8AAAAAIAAAAAAAAABAAAAAAAAAAGAAAAAAAAAAgAAAAAAAAACgAAAAAAAAAMAAAAAAAAAA4AAAAAAAAAEAAAAAAAAAASAAAAAAAAABQAAAAAAAAAFgAAAAAAAAAYAAAAAAAAABoAAAAAAAAAHAAAAAAAAAAeAAAAAAAAACAAAAAAAAAAIgAAAAAAAAAkAAAAAAAAACYAAAAAAAAAKAAAAAAAAAAqAAAAAAAAACwAAAAAAAAALgAAAAAAAAAwAAAAAAAAADIAAAAAAAAANAAAAAAAAAA2AAAAAAAAADgAAAAAAAAAOgAAAAAAAAA8AAAAAAAAAA==
</DataArray>
<DataArray type="UInt8" Name="types" format="binary" RangeMin="3" RangeMax="3">
HgAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw==
</DataArray>
</Cells>
</Piece>
</UnstructuredGrid>
</VTKFile>
Loading