diff generateStructuredMesh.xml @ 0:4e31c396004d draft default tip

planemo upload for repository https://github.com/Helmholtz-UFZ/galaxy-tools/tree/main/tools/ogs/ commit 8d522c2d14b28a4df096a5a13cd800bbf086f09f
author ufz
date Thu, 06 Mar 2025 17:29:28 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generateStructuredMesh.xml	Thu Mar 06 17:29:28 2025 +0000
@@ -0,0 +1,170 @@
+<tool id="ogs_generatestructuredmesh" name="OGS generateStructuredMesh" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
+    <description>
+        Generation of simple meshes
+    </description>
+    <macros>
+        <import>macros.xml</import>
+        <token name="@VERSION_SUFFIX@">0</token>
+    </macros>
+    <requirements>
+        <expand macro="ogs_requirement"/>
+    </requirements>
+    <expand macro="creator"/>
+    <command detect_errors="exit_code"><![CDATA[
+    generateStructuredMesh 
+        -o output.$output_ext
+        -e $element_type
+    #if str($length_x) != "":
+        --lx $length_x
+    #end if
+    #if str($length_y) != "":
+        --ly $length_y
+    #end if
+    #if str($length_z) != "":
+        --lz $length_z
+    #end if
+    #if str($subdiv_x) != "":
+        --nx $subdiv_x
+    #end if
+    #if str($subdiv_y) != "":
+        --ny $subdiv_y
+    #end if
+    #if str($subdiv_z) != "":
+        --nz $subdiv_z
+    #end if
+    #if str($element_length_x) != "":
+        --dx0 $element_length_x
+    #end if
+    #if str($element_length_y) != "":
+        --dy0 $element_length_y
+    #end if
+    #if str($element_length_z) != "":
+        --dz0 $element_length_z
+    #end if
+    #if str($max_element_length_x) != "":
+        --dx-max $max_element_length_x
+    #end if
+    #if str($max_element_length_y) != "":
+        --dy-max $max_element_length_y
+    #end if
+    #if str($max_element_length_z) != "":
+        --dz-max $max_element_length_z
+    #end if
+    #if str($multiplier_x) != "":
+        --mx $multiplier_x
+    #end if
+    #if str($multiplier_y) != "":
+        --my $multiplier_y
+    #end if
+    #if str($multiplier_z) != "":
+        --mz $multiplier_z
+    #end if
+    && mv output.$output_ext '$output'
+
+    ]]></command>
+    <inputs>
+        <param name="output_ext" type="select" label="Output File Format" argument="-o">
+            <option value="vtu">VTK Unstructured Grid</option>
+            <option value="msh">GMSH</option>
+        </param>
+        <param name="element_type" type="select" label="Element Type" argument="-e">
+            <option value="line">Line</option>
+            <option value="tri">Triangle</option>
+            <option value="quad">Quadrilateral</option>
+            <option value="hex">Hexahedron</option>
+            <option value="prism">Prism</option>
+            <option value="tet">Tetrahedron</option>
+            <option value="pyramid">Pyramid</option>
+        </param>      
+        <param name="length_x" type="float" min="0" optional="true" label="Length in X" help="Length of the domain in the X direction.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="length_y" type="float" min="0" optional="true" label="Length in Y" help="Length of the domain in the Y direction.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="length_z" type="float" min="0" optional="true" label="Length in Z" help="Length of the domain in the Z direction.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="subdiv_x" type="integer" min="1" optional="true" label="Subdivisions in X" help="Number of subdivisions in the X direction. Overrides element length argument."/>
+        <param name="subdiv_y" type="integer" min="1" optional="true" label="Subdivisions in Y" help="Number of subdivisions in the Y direction. Overrides element length argument."/>
+        <param name="subdiv_z" type="integer" min="1" optional="true" label="Subdivisions in Z" help="Number of subdivisions in the Z direction. Overrides element length argument."/>
+        <param name="element_length_x" type="float" min="0" optional="true" label="Initial Element Length X" help="Initial element length in the X direction. If the value of this parameter is smaller than subdivions or maximum length parameters it gets overridden.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="element_length_y" type="float" min="0" optional="true" label="Initial Element Length Y" help="Initial element length in the Y direction. If the value of this parameter is smaller than subdivions or maximum length parameters it gets overridden.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="element_length_z" type="float" min="0" optional="true" label="Initial Element Length Z" help="Initial element length in the Z direction. If the value of this parameter is smaller than subdivions or maximum length parameters it gets overridden.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="max_element_length_x" type="float" min="0" optional="true" label="Maximum Element Length X" help="Maximum element length in the X direction. Overrides element length argument.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="max_element_length_y" type="float" min="0" optional="true" label="Maximum Element Length Y" help="Maximum element length in the Y direction. Overrides element length argument.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="max_element_length_z" type="float" min="0" optional="true" label="Maximum Element Length Z" help="Maximum element length in the Z direction. Overrides element length argument.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="multiplier_x" type="float" min="0" optional="true" label="Multiplier X" help="Multiplier for element lengths in the X direction.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="multiplier_y" type="float" min="0" optional="true" label="Multiplier Y" help="Multiplier for element lengths in the Y direction.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+        <param name="multiplier_z" type="float" min="0" optional="true" label="Multiplier Z" help="Multiplier for element lengths in the Z direction.">
+            <validator type="in_range" min="0" exclude_min="true"/>
+        </param>
+    </inputs>
+    <outputs>
+        <data format="vtkxml" name="output">
+            <change_format>
+                <when input="output_ext" value="msh" format="gmsh.msh"/>
+            </change_format>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="output_ext" value="vtu"/>
+            <param name="element_type" value="quad"/>
+            <param name="length_x" value="3"/>
+            <param name="length_y" value="4"/>
+            <output name="output" value="quad_3x4.vtu" ftype="vtkxml"/>
+        </test>
+        <test>
+            <param name="output_ext" value="msh"/>
+            <param name="element_type" value="hex"/>
+            <param name="length_x" value="4"/>
+            <param name="length_y" value="5"/>
+            <param name="length_z" value="6"/>
+            <param name="multiplier_x" value="0.8"/>
+            <param name="multiplier_y" value="1.1"/>
+            <param name="multiplier_z" value="2"/>
+            <param name="max_element_length_z" value="1"/>
+            <param name="element_length_y" value="0.1"/>
+            <param name="element_length_z" value="0.1"/>
+            <output name="output" value="hex_4x5x6.msh"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+    **Overview:**
+        This tool generates structured meshes using the OpenGeoSys Mesh Generator. 
+        Users can define the element type, dimensions, subdivisions, and other parameters to create a customized mesh.
+        Output data is written in the specified format (VTU/ VTK Unstructured Grid or GMSH).
+
+    **Inputs:**
+        1. **Output Format:** The format of the output file (.vtu or .msh) 
+        2. **Element Type:** The type of element to create (e.g., line, triangle, quadrilateral, etc.).
+        3. **Length (X, Y, Z):** The length of the mesh domain in the X, Y, and Z directions.
+        4. **Subdivisions (X, Y, Z):** Number of subdivisions in each direction to define mesh resolution.
+        5. **Initial Element Length (X, Y, Z):** Initial size of the elements in the X, Y, and Z directions.
+        6. **Maximum Element Length (X, Y, Z):** Maximum size of elements for gradual refinement.
+        7. **Multiplier (X, Y, Z):** Refinement multiplier for element lengths in each direction.
+
+    **Outputs:**
+
+        **Output Mesh File:** The generated structured mesh saved as a file in the specified format.
+    ]]></help>
+    <expand macro="ogs_citation"/>
+</tool>
\ No newline at end of file