Skip to content

Materials & Methods

This use case is organized into a sequential scientific workflow, implemented through a nuRemics App called CANTILEVER_SHEAR_APP.

Workflow

The workflow is composed of the following software processes:

  1. GeometryProc: Create a geometric representation of a physical system.
    A/ create_geometry: Create and export a simple geometric entity (beam, plate, or block) in STEP or BREP format.
  2. LabelingProc: Define and label the entities of a physical system from its geometric representation.
    A/ label_entities: Assign labels to the entities of a geometric model.
flowchart RL
  **GeometryProc** e1@--1--o **CANTILEVER_SHEAR_APP**
  **LabelingProc** e2@--2--o **CANTILEVER_SHEAR_APP**
  **create_geometry** e3@--A--o **GeometryProc**
  **label_entities** e4@--A--o **LabelingProc**
  e1@{ animate: true }
  e2@{ animate: true }
  e3@{ animate: true }
  e4@{ animate: true }

I/O Interface

The following I/O interface describes the input data required and the output data generated by the workflow:

flowchart LR
  subgraph **INPUTS**
    direction TB

    subgraph **Paths**
      direction LR
      path["_"]
    end

    subgraph **Parameters**
      direction LR
      param1["dimension _(int)_"]
    end
  end

  subgraph **CANTILEVER_SHEAR_APP**
    direction RL
    proc1["GeometryProc"]
    proc2["LabelingProc"]
  end

  subgraph **OUTPUTS**
    direction RL
    out1["geometry.(step/brep) _(file)_"]
    out2["labels.json _(file)_"]
  end

  **INPUTS** --> **CANTILEVER_SHEAR_APP**
  **CANTILEVER_SHEAR_APP** --> **OUTPUTS**

The GeometryProc software process handles the following input and output data:

flowchart LR
  subgraph **INPUTS**
    direction TB

    subgraph **Paths**
      direction LR
      path["_"]
    end

    subgraph **Parameters**
      direction LR
      param1["dimension _(int)_"]
    end
  end

  subgraph **CANTILEVER_SHEAR_APP**
    direction RL
    proc1["GeometryProc"]
  end

  subgraph **OUTPUTS**
    direction RL
    out1["geometry.(step/brep) _(file)_"]
  end

  **INPUTS** --> proc1
  proc1 --> **OUTPUTS**

The LabelingProc software process handles the following input and output data:

flowchart LR
  subgraph **INPUTS**
    direction TB

    subgraph **Paths**
      direction LR
      out1["geometry.(step/brep) _(file)_"]
    end

    subgraph **Parameters**
      direction LR
      param1["dimension _(int)_"]
    end

  end

  subgraph **CANTILEVER_SHEAR_APP**
    direction RL
    proc2["LabelingProc"]
  end

  subgraph **OUTPUTS**
    direction RL
    out2["labels.json _(file)_"]
  end

  **INPUTS** --> proc2
  proc2 --> **OUTPUTS**

  classDef blueBox fill:#d0e6ff,stroke:#339,stroke-width:1.5px;
  class out1 blueBox;

Inputs

The input data are divided into two categories: Parameters and Paths.

Parameters

These are scalar values that must be defined to configure the workflow:

  • dimension: Dimension of the geometry: 1 for a line (beam), 2 for a rectangle (plate), 3 for a box (block).

Paths

These are either files or folders that must be provided to configure the workflow:

N/A

Outputs

The output data are either files or folders generated by the workflow and written to disk:

  • geometry.(step/brep): File containing the geometric model (in .step if dim = 3|2 or .brep if dim = 1).
  • labels.json: File containing the labeled geometric entities.