.. image:: /_images/icons/app_workflows.png :width: 5% :align: right :target: index.html .. |Examples| image:: /_images/icons/icon_Examples.png :width: 4% :target: Examples.html .. _Examples: ################################### |Examples| Examples ################################### In this section, we'll review some workflow examples. ************************************ CURVE(S) Worker Examples ************************************ \*CURVES_MATCH_SCATTER ============================ Inputs -------- *Example Baseline Curve* .. thumbnail:: /_images/Images/examples/workers/CURVES_MATCH_SCATTER/ExampleBaselineCurve.png :title: Example Baseline Curve | *Examples Min-Max Curves* .. thumbnail:: /_images/Images/examples/workers/CURVES_MATCH_SCATTER/ExampleMin-MaxCurves.png :title: Example Min-Max Curves | Configuration ------------- *Example Worker Set-up with Output* .. thumbnail:: /_images/Images/examples/workers/CURVES_MATCH_SCATTER/ExampleWorkerSet-upwithOutput.png :title: Example Worker Set-up with Output | \*CURVE_GET_X =================== Input -------- *Example Input Curve* .. thumbnail:: /_images/Images/examples/workers/CURVE_GET_X/ExampleInputCurve.png :title: Example Input Curve | Configuration ------------- *Example Worker Set-up with Output* .. thumbnail:: /_images/Images/examples/workers/CURVE_GET_X/ExampleWorkerSet-upwithOutput.png :title: Example Worker Set-up with Output | \*CURVE_GET_Y =================== Input -------- *Example Input Curve* .. thumbnail:: /_images/Images/examples/workers/CURVE_GET_Y/ExampleInputCurve.png :title: Example Input Curve | Configuration ------------- *Example Worker Set-up with Output* .. thumbnail:: /_images/Images/examples/workers/CURVE_GET_Y/ExampleWorkerSet-upwithOutput.png :title: Example Worker Set-up with Output | \*CURVE_FROM_SET =================== Configuration ------------- *Example Worker Set-up with Output* .. thumbnail:: /_images/Images/examples/workers/CURVE_FROM_SET/ExampleWorkerSet-upwithOutput.png :title: Example Worker Set-up with Output | Output -------- *Example Output Curve* .. thumbnail:: /_images/Images/examples/workers/CURVE_FROM_SET/ExampleOutputCurve.png :title: Example Output Curve | \*CURVES_SYNC_WITH =================== Input -------- *Example Input Curve to Be Sync* .. thumbnail:: /_images/Images/examples/workers/CURVES_SYNC_WITH/ExampleInputCurve1.png :title: Example Input Curve | *Example Input Curve to Sync From* .. thumbnail:: /_images/Images/examples/workers/CURVES_SYNC_WITH/ExampleInputCurve2.png :title: Example Input Curve | Configuration ------------- *Example Worker Set-up with Output* .. thumbnail:: /_images/Images/examples/workers/CURVES_SYNC_WITH/ExampleWorkerSet-upwithOutput.png :title: Example Worker Set-up with Output | Output -------- *Example Output Curve* .. thumbnail:: /_images/Images/examples/workers/CURVES_SYNC_WITH/ExampleOutputCurve.png :title: Example Output Curve | \*CURVE_HG_SAE_FILTER ======================== Input -------- *Example Input Curve* .. thumbnail:: /_images/Images/examples/workers/CURVE_HG_SAE_FILTER/ExampleInputCurve.png :title: Example Input Curve | Configuration ------------- *Example Worker Set-up with Output* .. thumbnail:: /_images/Images/examples/workers/CURVE_HG_SAE_FILTER/ExampleWorkerSet-upwithOutput.png :title: Example Worker Set-up with Output | Output -------- *Example Output Curve* .. thumbnail:: /_images/Images/examples/workers/CURVE_HG_SAE_FILTER/ExampleOutputCurve.png :title: Example Output Curve | \*CURVE_GET_WELD_NUGGET_DIA_VS_SHEET_METAL_THICKNESS_DEPENDENCY ======================================================================== Configuration ------------- *Example Worker Set-up with Output* .. thumbnail:: /_images/Images/examples/workers/CURVE_GET_WELD_NUGGET_DIA_VS_SHEET_METAL_THICKNESS_DEPENDENCY/ExampleWorkerSetupWithOutput.png :title: Example Worker Set-up with Output | Output -------- *Example Output Curve* .. thumbnail:: /_images/Images/examples/workers/CURVE_GET_WELD_NUGGET_DIA_VS_SHEET_METAL_THICKNESS_DEPENDENCY/ExampleOutputCurve.png :title: Example Output Curve | \*CURVE_GET_WELD_NUGGET_DIA_FOR_SHEET_METAL_THICKNESS ======================================================= Configuration ------------- *Example Worker Set-up* .. thumbnail:: /_images/Images/examples/workers/CURVE_GET_WELD_NUGGET_DIA_FOR_SHEET_METAL_THICKNESS/ExampleWorkerSetup.png :title: Example Worker Set-up | ************************************ DATASET Worker Examples ************************************ \*DATASET_ADD_COLUMN_BY_REGEX =============================== Configuration ------------- *Example Worker Set-up: Dataset* .. thumbnail:: /_images/Images/examples/workers/DATASET_ADD_COLUMN_BY_REGEX/ExampleWorkerSetupwithOutput1.png :title: Example Worker Set-up: Dataset | *Example Worker Set-up: Expression* .. thumbnail:: /_images/Images/examples/workers/DATASET_ADD_COLUMN_BY_REGEX/ExampleWorkerSetupwithOutput2.png :title: Example Worker Set-up: Expression | Output -------- *Example Output Dataset with Generated Column* .. thumbnail:: /_images/Images/examples/workers/DATASET_ADD_COLUMN_BY_REGEX/ExampleOutput.png :title: Example Output Dataset with Generated Column | \*GENETIC_MUTATOR =============================== Configuration ------------- *Example Worker Set-up: First Inputs* .. thumbnail:: /_images/Images/examples/workers/GENETIC_MUTATOR/ExampleWorkerSetupwithOutput1.png :title: Example Worker Set-up: First Inputs | *Example Worker Set-up: Other Inputs* .. thumbnail:: /_images/Images/examples/workers/GENETIC_MUTATOR/ExampleWorkerSetupwithOutput2.png :title: Example Worker Set-up: Other Inputs | Output -------- *Example Output Dataset with Generated Column* .. thumbnail:: /_images/Images/examples/workers/GENETIC_MUTATOR/ExampleOutput.png :title: Example Output Dataset | \*DATASET_COMPUTE_PARETO_FRONT_SORTER ======================================= Input ------------- *Example Input Dataset* .. thumbnail:: /_images/Images/examples/workers/DATASET_COMPUTE_PARETO_FRONT_SORTER/ExampleWorkerInput.png :title: Example Input Dataset | Configuration ------------- *Example Worker Set-up* .. thumbnail:: /_images/Images/examples/workers/DATASET_COMPUTE_PARETO_FRONT_SORTER/ExampleWorkerSetupwithOutput1.png :title: Example Worker Set-up | Output -------- *Example Output Dataset* .. thumbnail:: /_images/Images/examples/workers/DATASET_COMPUTE_PARETO_FRONT_SORTER/ExampleOutput.png :title: Example Output Dataset | ************************************ STRING Worker Examples ************************************ \\*STRING_IS_EMPTY ======================================= Configuration ------------- *Example Worker Set up with Output* .. thumbnail:: /_images/Images/examples/workers/STRING_IS_EMPTY/ExampleWorker.png :title: Example Worker Set up with Output | \*PHYSICALTEST_MERGE_RESPONSES ======================================= Configuration ------------- *Example Worker Set-up* .. thumbnail:: /_images/Images/examples/workers/PHYSICALTEST_MERGE_RESPONSES/ExampleWorkerSetupwithOutput.png :title: Example Worker Set-up | Output -------- *Example Output* .. thumbnail:: /_images/Images/examples/workers/PHYSICALTEST_MERGE_RESPONSES/ExampleOutput.png :title: Example Output | ************************************ MATERIAL Worker Examples ************************************ \*LSDYNA_SPOTWELD_MATERIAL_GENERATOR ======================================= Configuration ------------- *Example Worker Set-up* .. thumbnail:: /_images/Images/examples/workers/LSDYNA_SPOTWELD_MATERIAL_GENERATOR/ExampleWorkerSetupwithOutput.png :title: Example Worker Set-up | Outputs -------- *Example Output: Materials* .. thumbnail:: /_images/Images/examples/workers/LSDYNA_SPOTWELD_MATERIAL_GENERATOR/ExampleOutput1.png :title: Example Output: Materials | *Example Output: Test Data* .. thumbnail:: /_images/Images/examples/workers/LSDYNA_SPOTWELD_MATERIAL_GENERATOR/ExampleOutput2.png :title: Example Output: Test Data | *Example Output: Failure Data* .. thumbnail:: /_images/Images/examples/workers/LSDYNA_SPOTWELD_MATERIAL_GENERATOR/ExampleOutput3.png :title: Example Output: Failure Data | *Example Output: Keyword* .. thumbnail:: /_images/Images/examples/workers/LSDYNA_SPOTWELD_MATERIAL_GENERATOR/ExampleOutput4.png :title: Example Output: Keyword | ******************************* DOE Worker Examples ******************************* \**KRIGING_INTERPOLATION_WORKER =================================== Configuration --------------- *Example Worker Set-up: Choose Dataset to Interpret From* .. thumbnail:: /_images/Images/examples/workers/KRIGING_INTERPOLATION_WORKER/ExampleWorkerSetupwithOutput1.png :title: Example Worker Set-up 1 | *Example Worker Set-up: Choose Dataset to Predict For* .. thumbnail:: /_images/Images/examples/workers/KRIGING_INTERPOLATION_WORKER/ExampleWorkerSetupwithOutput2.png :title: Example Worker Set-up 2 | Outputs -------- *Example Output for Experiments* .. thumbnail:: /_images/Images/examples/workers/KRIGING_INTERPOLATION_WORKER/Experiments.png :title: Example Output for Experiments | *Example Output for Predictions* .. thumbnail:: /_images/Images/examples/workers/KRIGING_INTERPOLATION_WORKER/Predictions.png :title: Example Output for Predictions | *Example Output for Optimum* .. thumbnail:: /_images/Images/examples/workers/KRIGING_INTERPOLATION_WORKER/Optimum.png :title: Example Output for Optimum | *Example Output for Logs* .. thumbnail:: /_images/Images/examples/workers/KRIGING_INTERPOLATION_WORKER/Logs.png :title: Example Output for Logs | `Read this blog post to learn more about Kriging Interpolation `_ \*DOE_STUDY_LAUNCHER_FROM_SIMULATION ====================================== Configuration --------------- *Example Worker Set-up: Choose Study Options and Parameters* .. thumbnail:: /_images/Images/examples/workers/DOE_STUDY_LAUNCHER_FROM_SIMULATION/ExampleWorkerSetup1.png :title: Example Worker Set-up 1 | *Example Worker Set-up: Choose HPC Configuration, Template and Baseline* .. thumbnail:: /_images/Images/examples/workers/DOE_STUDY_LAUNCHER_FROM_SIMULATION/ExampleWorkerSetup2.png :title: Example Worker Set-up 2 | ********************************************* |book| Machine Learning Worker Examples ********************************************* \*ML_PREDICT_LINEAR ============================ Watch the following video to see how to configure the Machine Learning Predict Linear Regression Worker. .. video:: _static/movies/examples/ML/ML_LinearReg_vo.mp4 :width: 100% | | \*ML_PREDICT =============================== Configuration ------------- *Example Worker Set-up: Dataset* .. thumbnail:: /_images/Images/examples/workers/ML_PREDICT/ExampleWorkerSetupwithOutput.png :title: Example Worker Set-up: Dataset | Output -------- *Example Output: Lucy JSON* .. thumbnail:: /_images/Images/examples/workers/ML_PREDICT/ExampleOutput1.png :title: Example Output: Lucy JSON | *Example Output: Meta Info* .. thumbnail:: /_images/Images/examples/workers/ML_PREDICT/ExampleOutput2.png :title: Example Output: Meta Info | *Example Output: Predictions* .. thumbnail:: /_images/Images/examples/workers/ML_PREDICT/ExampleOutput3.png :title: Example Output: Predictions | ******************************************* |line-chart| Simple Curve Workflow Example ******************************************* Let's go over building and executing a basic Workflow. |star| Create a New Workflow ============================ Create a New workflow by clicking on the 'New Workflow' icon at the top of the Workflows page. A Canvas will open with the start and the end worker. .. thumbnail:: /_images/Images/new/NewWorkflow.png :title: Create New Workflow .. centered:: :sup:`Figure 1: Create New Workflow` | |play-circle| START worker configuration ======================================== Click on the START worker to configure it. .. thumbnail:: /_images/Images/examples/simplecurve/START.png :title: Click on Start Worker .. centered:: :sup:`Figure 2: Click on Start Worker` | We'll drag-and-drop a curve input from the right, and choose from sample. .. thumbnail:: /_images/Images/examples/simplecurve/CurveInput.png :title: Add Curve Input .. centered:: :sup:`Figure 3: Add Curve Input` | Double click on a column to add it as the x points and do the same for the y points. Make sure to name the Curve. .. thumbnail:: /_images/Images/examples/simplecurve/ChooseSample.png :title: Choose Sample Curve Points .. centered:: :sup:`Figure 4: Choose Sample Curve Points` | We can view the curve to make sure it's what we want to use. Finish configuring the START worker by clicking Save. .. thumbnail:: /_images/Images/examples/simplecurve/SaveSTART.png :title: Save Configuration .. centered:: :sup:`Figure 5: Save Configuration` | |plus| Adding Workers ===================== Let's open the worker library (cog icon on the left side panel), search for CURVE_DERIVATIVE and add it to the canvas. .. thumbnail:: /_images/Images/examples/simplecurve/AddCurveDerivative.png :title: Add CURVE_DERIVATIVE .. centered:: :sup:`Figure 6: Add CURVE_DERIVATIVE` | We'll do the same with CURVES_OVERLAY, making sure it adds after CURVE_DERIVATIVE. .. thumbnail:: /_images/Images/examples/simplecurve/AddCurvesOverlay.png :title: Add CURVES_OVERLAY .. centered:: :sup:`Figure 7: Add CURVES_OVERLAY` | |cog| Configuring Workers ========================== Click on a worker to configure it. .. thumbnail:: /_images/Images/examples/simplecurve/ConfigureWorkers.png :title: Click on a Worker to Configure .. centered:: :sup:`Figure 8: Click on a Worker to Configure` | Let's start with CURVE_DERIVATIVE. For the Curve to be derived, we'll choose Previous Workers > START > Curve 1 (our START worker curve input) > No (for Depends on user selection). Feel free to test the execution at the bottom right corner before clicking Save. .. thumbnail:: /_images/Images/examples/simplecurve/ConfigureCurveDerivative.png :title: Configure CURVE_DERIVATIVE .. centered:: :sup:`Figure 9: Configure CURVE_DERIVATIVE` | For CURVES_OVERLAY, the Base Curve input will be Previous Workers > START > Curve 1 (our START worker curve input) > No (for Depends on user selection). The Curve to be overlaid input will be Previous Workers > Curve Derivative > curve_derivative_output_1 > No (for Depends on user selection). .. thumbnail:: /_images/Images/examples/simplecurve/ConfigureCurvesOverlay.png :title: Configure CURVES_OVERLAY .. centered:: :sup:`Figure 10: Configure CURVES_OVERLAY` | For the END worker, let's add the CURVES_OVERLAY output to be shown under this worker after execution. .. thumbnail:: /_images/Images/examples/simplecurve/AddOutput.png :title: Configure END Worker Add Output .. centered:: :sup:`Figure 11: Configure END Worker Add Output` | Here is how the output is added to the worker configuration. Hit Save to finish. .. thumbnail:: /_images/Images/examples/simplecurve/SaveEND.png :title: Configure END Worker .. centered:: :sup:`Figure 12: Configure END Worker` | |floppy-o| Saving ================= Let's save our workflow under the File Menu. .. thumbnail:: /_images/Images/examples/simplecurve/Save.png :title: File: Save and Close .. centered:: :sup:`Figure 13: File: Save and Close` | Give the workflow a suitable name and description, and hit Save. .. thumbnail:: /_images/Images/examples/simplecurve/NameSave.png :width: 35% :title: Name Workflow and Save .. centered:: :sup:`Figure 14: Name Workflow and Save` | |play| Executing ================ To start executing our workflow, we'll click the Play icon on the movable play controls towards the bottom of the canvas. Choose the execution parameters to be from START to END worker, then click Run. .. thumbnail:: /_images/Images/examples/simplecurve/RunParameters.png :title: Execution Parameters .. centered:: :sup:`Figure 16: Execution Parameters` | The status bar at the top and start circle on the play controls will show 100% once the execution is complete. .. thumbnail:: /_images/Images/examples/simplecurve/SuccesfullExecution.png :title: Successful Execution .. centered:: :sup:`Figure 17: Successful Execution` | |eye| Reviewing Results ======================= Let's click on the END worker to review our CURVES_OVERLAY results. We can also view results under the eye icon in the left side panel. .. thumbnail:: /_images/Images/examples/simplecurve/ViewResults.png :title: View Results .. centered:: :sup:`Figure 18: View Results` | Here, we'll open the curves in the Curve Viewer. .. thumbnail:: /_images/Images/examples/simplecurve/OpenCurveViewer.png :title: Open in Curve Viewer .. centered:: :sup:`Figure 19: Open in Curve Viewer` | Feel free to sift through other curve inputs/outputs in the workflow using the right side navigation. .. thumbnail:: /_images/Images/examples/simplecurve/ReviewInputsOutputs.png :title: Review Curve Inputs/Outputs .. centered:: :sup:`Figure 20: Review Curve Inputs/Outputs` | ************************************* |id-card| Material Test Card Workflow ************************************* In this section, we'll go over creating a sample workflow for generating a material card from an excel file with Engineering Stress Strain Test data. The entire process can be divided into 5 steps: 1. Creating a New Workflow 2. START worker configuration 3. Adding and Configuring Workers 4. Saving and Execution 5. Reviewing Results |star| Create a New Workflow ============================ Create a New workflow by clicking on the 'New Workflow' icon at the top of the Workflows page. A Canvas will open with the start and the end worker. .. thumbnail:: /_images/Images/Examples/MatTestCard/NewWorkflow.png :title: New Workflow .. centered:: :sup:`Figure 1: New Workflow` | |play-circle| START worker configuration ======================================== 1. Click on the START worker to configure it. .. thumbnail:: /_images/Images/Examples/MatTestCard/StartWorker.png :title: Click on Start Worker .. centered:: :sup:`Figure 2: Click on Start Worker` | 2. Drag and drop the curve input to the left to add the Curve Input 3. Click on ‘Drag files or click to upload’ to upload the curve from excel file. Double click on the first cell of each column to upload the xy points from the entire column. 4. You can edit the input name and view the curve after it is uploaded. Lets call it 'Eng SS Test' 5. Click ‘Done'. .. thumbnail:: /_images/Images/Examples/MatTestCard/StartWorker2.png :title: Configure Start Worker .. centered:: :sup:`Figure 3: Configure Start Worker` | |plus| Adding More Workers ========================== 1. Click on add worker icon to open the library drop-down of all available workers. .. thumbnail:: /_images/Images/Examples/MatTestCard/addworkermenu.png :title: Add Worker Library .. centered:: :sup:`Figure 4: Add Worker Library` | 2. In the text box, type 'Curve Digitize'(curve_digitize), and then click on the worker name. The worker will appear between the start and the end worker. 3. Click on the worker to edit the inputs. Select DataSource for the Curves input as Previous worker>Start>name of the curve (in this case Eng SS Test) 4. In the num_points (number of digitized points), we'll go with 400. 5. The worker configuration looks something like this: .. thumbnail:: /_images/Images/Examples/MatTestCard/CurveDigitize.png :title: Curve Digitize .. centered:: :sup:`Figure 5: Curve Digitize` | 6. Click Done. Similarly, we will add more workers to clean the test data and generate hardening curve. 7. For the next worker, choose 'Curve Monotonic'(curve_monotonic) to place it on the canvas. Click on the worker in the timeline and add the following inputs: * Curve to be operated on: Previous Workers > Curve Digitize > curve_digitize_output_1 * Axis: x 8. Click Done. The worker configuration for Monotonic should look this this: .. thumbnail:: /_images/Images/Examples/MatTestCard/CurveMono.png :title: Curve Monotonic .. centered:: :sup:`Figure 6: Curve Monotonic` | 9. Add the 'Curve Scale' (curve_scale) worker for scaling the Engineering stress strain curve to GPa-(mm/mm) units. The inputs are: * Curves to be scaled: Previous worker> Curve Monotonic > curve_monotonic_output_1 * X scale value: 0.01 * Y scale value: 0.001 * X inverse: no * Y inverse: no 10. Click Done. Scale's configuration should look this this: .. thumbnail:: /_images/Images/Examples/MatTestCard/CurveScale.png :title: Curve Scale .. centered:: :sup:`Figure 7: Curve Scale` | 11. Next, add the 'Curve Eng to True Stress' (curve_engtotruestress) worker and input: * Curve: Dependent on previous workers (curve scale) output * Axis: both .. thumbnail:: /_images/Images/Examples/MatTestCard/EngtoTrue.png :title: Curve Eng to True Stress .. centered:: :sup:`Figure 8: Curve Eng to True Stress` | 12. Add the 'Curve True to Effective Stress' (curve_truetoeffectivestress) worker and input: * True SS curve : previous worker output (Eng to True SS) * Elastic Modulus: 210 * Yield Type: offset * Yield Offset or Strain: 0.002 * Necking Treatment: swift * Slope of Extrapolation: 0.0 * Last Strain: 1.0 * Digitize: 400 * Saturation Strain: 0 * Saturation Percentage: 0 * Click Done. The worker configuration should look like this: .. thumbnail:: /_images/Images/Examples/MatTestCard/CurveTrue.png :title: Curve True to Effective Stress .. centered:: :sup:`Figure 9: Curve True to Effective Stress` | 13. Finally, add the 'Dynakeyword Mat24 Without Strain Rates' (dynakeyword_mat24_without_strain_rates) worker. Set the inputs for the Material card generator as: * Material name: Mat 24 * Material ID: 1 * Curve Id: 100 * Density: 7.85e-6 * Elastic Modulus: 210 * Poisson’s Ratio: 0.33 * Hardening Curve: Previous worker (True to Effective) * Failure Strain: 0.0 * Number of Dig Points: 400 The worker configuration looks like this: .. thumbnail:: /_images/Images/Examples/MatTestCard/Dynakeyword.png :title: Dynakeyword Mat24 Without Strain Rates .. centered:: :sup:`Figure 10: Dynakeyword Mat24 Without Strain Rates` | |floppy-o| Saving ================= After adding all the above workers, the canvas should look similar to the image shown below. You can move the workers by clicking and dragging them. To save your workflow, click on the respected button in the upper right corner. .. thumbnail:: /_images/Images/Examples/MatTestCard/Finished.png :title: Workflow Ready for Execution .. centered:: :sup:`Figure 11: Workflow Ready for Execution` | Give a suitable name and description for the workflow, and then click 'Save' again. Your workflow will be visible in the workflows page for viewing, editing and running. .. thumbnail:: /_images/Images/Examples/MatTestCard/SaveWorkflow.png :title: Save Your Workflow .. centered:: :sup:`Figure 12: Save Your Workflow` | |play| Executing ================ To execute your workflow, open it in run mode after saving and hit 'Run' on the top right. Make sure the Workflow is performing from START to END and click ‘Run’ again. .. thumbnail:: /_images/Images/Examples/MatTestCard/Execution.png :title: Executing Your Workflow .. centered:: :sup:`Figure 13: Executing Your Workflow` | Upon successful execution, the status will be at 100% with the message 'Executed END successfully'. .. thumbnail:: /_images/Images/Examples/MatTestCard/Execution2.png :title: Executed Workflow .. centered:: :sup:`Figure 14: Executed Workflow` | |eye| Reviewing Results ======================= Congratulations on successful execution of this workflow! View or download the material card by opening the Dynakeyword worker. You can also view your data in multiple ways under the navigation menu in the upper right hand corner. .. thumbnail:: /_images/Images/Examples/MatTestCard/Results.png :title: Results .. centered:: :sup:`Figure 15: Results` | When reviewing your material card under the Dynakeyword worker, view the card as a curve by clicking the respected button towards the bottom of the window. Additionally, click on the eye button on the left to view the card as text. You can download the material card here by clicking the download symbol right new to the eye. .. thumbnail:: /_images/Images/Examples/MatTestCard/ResultsView.png :title: View Material Card .. centered:: :sup:`Figure 16: View Material Card` | Here is how curve viewer window appears when clicking on the Open Curve Viewer button: .. thumbnail:: /_images/Images/Examples/MatTestCard/ResultsCurve.png :title: Curve Viewer .. centered:: :sup:`Figure 17: Curve Viewer` | Here is how the text viewer window appears when clicking on the eye icon: .. thumbnail:: /_images/Images/Examples/MatTestCard/ResultsText.png :title: Text Viewer .. centered:: :sup:`Figure 18: Text Viewer` | ************************************* |database| Material Database Workflow ************************************* Here, we'll go over how to create an LS-DYNA Material Databases using Workflows. If you need more information on Databases, `please make your way to that section here. `_ Start by creating a new Workflow. From here, search for "lsdyna_material_to_database" in the worker library on the upper right of the workflow drafting board and add it to the workflow. .. thumbnail:: /_images/Images/Examples/MatDB/WorkflowStart.png :title: Starting a New Workflow .. centered:: :sup:`Figure 1: Starting a New Workflow` | Now, click on its gear icon to open up the worker specifications. .. thumbnail:: /_images/Images/Examples/MatDB/MaterialWorker.png :title: Add Worker and Open Specifications .. centered:: :sup:`Figure 2: Add Worker and Open Specifications` | Make sure to define the name of the database, upload your LS-DYNA input file, decide whether or not to include erosion and choose a parent database of which to inherit users and layout. Feel free to uncheck this last option as a requirement if you wish not to use this feature. Here is how a configuration may look like: .. thumbnail:: /_images/Images/Examples/MatDB/WorkerConfig.png :title: Worker Configuration .. centered:: :sup:`Figure 3: Worker Configuration` | New as of June, 2022, there is now support for ordering and mapping database columns in the LS-DYNA to material database worker. .. thumbnail:: /_images/Images/Examples/MatDB/MappingDatabaseColumns.png :title: Mapping Database Columns .. centered:: :sup:`Figure 4: Mapping Database Columns` | After setting up your worker configuration, save the workflow by clicking the save button at the top right and entering at least a name for it in the prompt box. After hitting "Save" again and refreshing back to Workflows Home, click on the play button on the workflow thumbnail to open it in execution mode. .. thumbnail:: /_images/Images/Examples/MatDB/SaveWorkflow.png :title: Save Workflow .. centered:: :sup:`Figure 5: Save Workflow` | From here, click on "Run" at the top right of the execution board and then "Run" again in dialog box, first making sure the workflow will be processing from the start to end worker. .. thumbnail:: /_images/Images/Examples/MatDB/ExecuteWorkflow.png :title: Execute the Workflow .. centered:: :sup:`Figure 6: Execute the Workflow` | You can observe the Workflow process with the green line moving down the workflow structure or the status bar at the top. Once the workflow executes successfully, close out of the execution board. You can save the board as is or reset the workflow, the latter being more beneficial if for any reason you need to execute this workflow again. From here, go to your Dashboards Application to make sure the run created your Database successfully. The database should present as the most recently added thumbnail with the name you specified as the owner. .. thumbnail:: /_images/Images/Examples/MatDB/FinishWorkflow.png :title: Review Successful Material Database Execution .. centered:: :sup:`Figure 7: Review Successful Material Database Execution` | ************************************* |wrench| Curves Reconstruction ************************************* Let's review how we can reconstruct curves centered around the worker \*CURVES_RECONSTRUCT_FROM_PREDICTION. We'll use a group of input curves (original, raw curves) and prediction points as part of the reconstructed curve (only y values), which will have the same pattern as the input curves. Minimal number of Prediction Points ===================================== For the input curves, we'll digitize them (\*CURVES_DIGITIZE) so each curve has 100 points. Then, we'll select points from these curves to use as the prediction points. The reconstructed curves using these points should be the same as the input curves. .. thumbnail:: /_images/Images/examples/Reconstruct/Picture1.png :title: Reconstruct with 100 out of 100 points for each curve .. centered:: :sup:`Figure 1: Reconstruct with 100 out of 100 points for each curve` | We'll then repeat the procedure with a different number of points selected: all 100 points, 34 points, 21 points, 11 points. .. thumbnail:: /_images/Images/examples/Reconstruct/Picture2.png :title: Reconstruct with 34 out of 100 points for each curve .. centered:: :sup:`Figure 2: Reconstruct with 34 out of 100 points for each curve` | .. thumbnail:: /_images/Images/examples/Reconstruct/Picture3.png :title: Reconstruct with 21 out of 101 points for each curve .. centered:: :sup:`Figure 3: Reconstruct with 21 out of 101 points for each curve` | .. thumbnail:: /_images/Images/examples/Reconstruct/Picture4.png :title: Reconstruct with 11 out of 101 points for each curve .. centered:: :sup:`Figure 4: Reconstruct with 11 out of 101 points for each curve` | A number around 30 should be a good number to reconstruct the curves with the characteristic patterns from the input curves to keep the number of input Prediction Points low. The input Prediction Points provided should be strictly symmetric(equally distanced, starts at x_min, ends at x_max). New curves (new n values) =========================== Next, we'll reconstruct the curves with prediction points from some other curves (Prediction Curves, Predicted curves), digitizing the input curves again so they each have 101 points. We'll select 26 points from these prediction curves to use as prediction points. Finally, the reconstructed curves should resemble the pattern from the input curves with a fairly good approximation. .. thumbnail:: /_images/Images/examples/Reconstruct/Picture5.png :title: Predicted curves (blue) vs Original curves (orange) .. centered:: :sup:`Figure 5: Predicted curves (blue) vs Original curves (orange)` | .. thumbnail:: /_images/Images/examples/Reconstruct/Picture6.png :title: 9 curves (predicted) with new n values (orange: ref; blue: reconstructed with 26 pts) .. centered:: :sup:`Figure 6: 9 curves (predicted) with new n values (orange: ref; blue: reconstructed with 26 pts)` | In summary, curves reconstructed by the \*CURVES_RECONSTRUCT_FROM_PREDICTION worker with as low as 26 Prediction Points successfully reproduce the signature patterns from the input curves with low errors. ************************************* |wrench| Pareto ************************************* In this example, we'll create this Pareto Workflow using workers curve_compute_pareto_front_optimal and dataset_compute_pareto_front_optimal to the minimum and maximum optimal solutions for a curve and a dataset. .. thumbnail:: /_images/Images/examples/Pareto/ParetoWorkflow.png :title: Pareto Workflow .. centered:: :sup:`Figure 1: Pareto Workflow` | START Worker Configuration =========================== We'll begin by adding a curve and dataset input into our START worker. .. thumbnail:: /_images/Images/examples/Pareto/STARTWorkerConfiguration.png :title: START Worker Configuration .. centered:: :sup:`Figure 2: START Worker Configuration` | When adding the dataset input, right-click to insert a new column if needed. .. thumbnail:: /_images/Images/examples/Pareto/AddAnotherDatasetColumn.png :title: Add Another Dataset Column .. centered:: :sup:`Figure 3: Add Another Dataset Column` | Building =========================== Let's build our workflow. Search for Pareto in the worker library, and drag-and-drop to stack two curve Pareto and two dataset Pareto workers as shown below: .. thumbnail:: /_images/Images/examples/Pareto/AddParetoWorkers.png :title: Add Pareto Workers .. centered:: :sup:`Figure 4: Add Pareto Workers` | Next, we'll add our report generator worker at the end of our workflow. .. thumbnail:: /_images/Images/examples/Pareto/AddReportGenerator.png :title: Add Report Generator .. centered:: :sup:`Figure 5: Add Report Generator` | Finally, we'll connect our workers together in a parallelized fashion with each Pareto worker connection individually from the START worker to the Report Generator as shown in the follow video: .. video:: _static/movies/examples/Pareto/ConnectWorkersPareto.mp4 :width: 100% | | Pareto Worker Configuration ============================== Next, we'll configure our Pareto workers. .. thumbnail:: /_images/Images/examples/Pareto/ConfigureParetoWorkers.png :title: Configure Pareto Workers .. centered:: :sup:`Figure 6: Configure Pareto Workers` | For the first curve Pareto worker, we'll connect the curve input and include "min, min" as the criteria. .. thumbnail:: /_images/Images/examples/Pareto/ParetoCurveMinConfiguration.png :title: Pareto Curve Min Configuration .. centered:: :sup:`Figure 7: Pareto Curve Min Configuration` | For the second curve Pareto worker, we'll connect the same curve input and include "max, max" as the criteria. .. thumbnail:: /_images/Images/examples/Pareto/ParetoCurveMaxConfiguration.png :title: Pareto Curve Max Configuration .. centered:: :sup:`Figure 8: Pareto Curve Max Configuration` | For the first dataset Pareto worker, we'll connect the dataset input, choose the column(s) for the Pareto from (we've chosen x,y here) and include "min, max" as the criteria. .. thumbnail:: /_images/Images/examples/Pareto/ParetoDatasetMinMaxConfiguration.png :title: Pareto Dataset Min Max Configuration .. centered:: :sup:`Figure 9: Pareto Dataset Min Max Configuration` | For the second dataset Pareto worker, we'll connect the same dataset input, choose the column(s) for the Pareto from (we've chosen x,y here) and include "max, min" as the criteria. .. thumbnail:: /_images/Images/examples/Pareto/ParetoDatasetMaxMinConfiguration.png :title: Pareto Dataset Max Min Configuration .. centered:: :sup:`Figure 10: Pareto Dataset Max Min Configuration` | Report Generator Configuration =============================== Now, we'll set up our report generation. .. thumbnail:: /_images/Images/examples/Pareto/ConfigureReportGenerator.png :title: Configure Report Generator .. centered:: :sup:`Figure 11: Configure Report Generator` | Use the Create Using Previous (1) Outputs under the dataset input to automatically add data from the workflow. Then, we'll click on Configure Manually (2) to set up which visualizations we want to see in our report. .. thumbnail:: /_images/Images/examples/Pareto/CreateDatasetandConfigureReport.png :title: Create Dataset and Configure Report .. centered:: :sup:`Figure 12: Create Dataset and Configure Report` | Here, we've added a new page with the outputs for all four workers (drag-and-drop outputs from the right into a section to include them). .. thumbnail:: /_images/Images/examples/Pareto/VisualizationSet-up.png :title: Visualization Set-up .. centered:: :sup:`Figure 13: Visualization Set-up` | Execution & Report ==================== Finally, we can execute our Workflow by clicking on the play button (1) and choosing from START to END before clicking play again (2). .. thumbnail:: /_images/Images/examples/Pareto/ExecuteWorkflow.png :title: Execute Workflow .. centered:: :sup:`Figure 14: Execute Workflow` | Once executed, we can click on the report generator to visualize our dataset. .. thumbnail:: /_images/Images/examples/Pareto/ViewReport.png :title: View Report .. centered:: :sup:`Figure 15: View Report` | ************************************************** |line-chart| Curve X Y Points Combine Workflow ************************************************** Let's go over a simple curve workflow which showcases the how to extract y and x points and combine them. .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CurveXYPointsCombineWorkflow.png :title: Curve X Y Points Combine Workflow .. centered:: :sup:`Figure 1: Curve X Y Points Combine Workflow` | Worker Set-up ================= The following shows the configuration and inputs of the workers found in this workflow. START ------ *START Worker Configuration:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/STARTWorkerConfiguration.png :title: START Worker Configuration *START Worker Curve Input:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/STARTWorkerCurveInput.png :title: START Worker Curve Input \*CURVE_GET_X -------------- *CURVE_GET_X Worker Configuration:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVEGETXWorkerConfiguration.png :title: CURVE_GET_X Worker Configuration \*CURVE_GET_Y -------------- *CURVE_GET_Y Worker Configuration:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVEGETYWorkerConfiguration.png :title: CURVE_GET_Y Worker Configuration \*CURVE_TRIM -------------- *CURVE_TRIM Worker Configuration:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVETRIMWorkerConfiguration.png :title: CURVE_TRIM Worker Configuration \*CURVES_CROSSPLOT ------------------- *CURVES_CROSSPLOT Worker Configuration:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVESCROSSPLOTWorkerConfiguration.png :title: CURVES_CROSSPLOT Worker Configuration Building and Executing ====================== The following movie reviews the entire build and execution process of this workflow. .. video:: _static/movies/examples/CurveXYPointsCombineWorkflow/CurveXYPointsCombine.mp4 :width: 100% | | Worker Outputs =============== The following shows the executed outputs for the workers found in this workflow. \*CURVE_GET_X -------------- *CURVE_GET_X Worker Output:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVEGETXWorkerOutput.png :title: CURVE_GET_X Worker Output \*CURVE_GET_Y -------------- *CURVE_GET_Y Worker Output:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVEGETYWorkerOutput.png :title: CURVE_GET_Y Worker Output \*CURVE_TRIM -------------- *CURVE_TRIM Worker Output:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVETRIMWorkerOutput.png :title: CURVE_TRIM Worker Output \*CURVES_CROSSPLOT ------------------- *CURVES_CROSSPLOT Worker Output:* .. thumbnail:: /_images/Images/examples/CurveXYPointsCombineWorkflow/CURVESCROSSPLOTWorkerOutput.png :title: CURVES_CROSSPLOT Worker Output .. _WFProviderEx: ************************************************** Workflow Provider Example ************************************************** Let's review an example for using the Workflow Provider shape worker, which allows us to link and execute workflows within a workflow. .. thumbnail:: /_images/Images/examples/WorkflowProvider/MatCalWorkflowProviderWF.png :title: Material Calibration Workflow Provider Workflow .. centered:: :sup:`Figure 1: Material Calibration Workflow Provider Workflow` | Building the Workflow ======================= Let's start by adding two Workflow Provider and one Report Generator shape workers to the canvas. :ref:`(Learn how to add workers here.) ` .. thumbnail:: /_images/Images/examples/WorkflowProvider/AddShapeWorkers.png :title: Add Workflow Provider and Report Generator Shape Workers .. centered:: :sup:`Figure 2: Add Workflow Provider and Report Generator Shape Workers` | Next, we'll want to connect the top Workflow Provider worker to the START and Report Generator workers as shown. :ref:`(Learn how to connect workers here.) ` .. thumbnail:: /_images/Images/examples/WorkflowProvider/ConnectWorkers.png :title: Connect Workers .. centered:: :sup:`Figure 3: Connect Workers` | Configuring Workers ===================== Now, we'll configure our workers. Click on the first Workflow Provide Worker, In the configuration window, feel free to rename the worker (we're naming it MAT24 Card Generator) and then choose the connecting workflow in the drop-down. Here, we're choosing our Engineering Material Card Generator workflow. .. thumbnail:: /_images/Images/examples/WorkflowProvider/AddEngMatCardWorkflow.png :title: Add Engineering Material Card Generator Workflow .. centered:: :sup:`Figure 4: Add Engineering Material Card Generator Workflow` | We'll see the START worker inputs from the Engineering Material Card Generator Workflow appear on our Workflow Provider configuration. Add any necessary inputs file and click on "View Workflow" to inspect what's been added. .. thumbnail:: /_images/Images/examples/WorkflowProvider/ViewEngMatCardWorkflow.png :title: Add Input File and View Material Card Workflow .. centered:: :sup:`Figure 5: Add Input File and View Material Card Workflow` | Here, we can make any updates to the workflow if needed. .. thumbnail:: /_images/Images/examples/WorkflowProvider/EngMatCardWorkflow.png :title: Engineering Material Card Generator Workflow .. centered:: :sup:`Figure 6: Engineering Material Card Generator Workflow` | Click on the second Workflow Provide Worker, In the configuration window, feel free to rename the worker (we're naming it MV Workflow Executer) and then choose the connecting workflow in the drop-down. Here, we're choosing our Material Verification workflow. .. thumbnail:: /_images/Images/examples/WorkflowProvider/AddMatVerWorkflow.png :title: Add Material Verification Workflow .. centered:: :sup:`Figure 7: Add Material Verification Workflow` | The START worker inputs from the Material Verification Workflow will populate on our Workflow Provider configuration. Add any necessary input files and click on "View Workflow" to inspect what's been added. .. thumbnail:: /_images/Images/examples/WorkflowProvider/ViewMatVerWorkflow.png :title: Add Input File and View Material Verification Workflow .. centered:: :sup:`Figure 8: Add Input File and View Material Verification Workflow` | Again, we can make any updates to the workflow if needed. .. thumbnail:: /_images/Images/examples/WorkflowProvider/MatVerWorkflow.png :title: Material Verification Workflow .. centered:: :sup:`Figure 9: Material Verification Workflow` | For the Report Generator Configuration, we'll click on 'Create using previous outputs' to populate the dataset input, and "Configure Manually" to set up the report. (For a more in-depth explanation of how to set up the Report Generator, :ref:`check out this section ` .) .. thumbnail:: /_images/Images/examples/WorkflowProvider/ConfigReportGenerator.png :title: Configure Report Generator .. centered:: :sup:`Figure 10: Configure Report Generator` | Under Configure Manually, we'll get to set up how the report will look in Simlytiks. Here is an example of what we've chosen for this particular workflow: .. thumbnail:: /_images/Images/examples/WorkflowProvider/ConfigSimlytiksReport.png :title: Configure Simlytiks Report .. centered:: :sup:`Figure 11: Configure Simlytiks Report` | Executing the Workflow ======================== Now, we can execute our workflow. Click on the Play icon at the top and then the play icon again to start the workflow. (If a workflow says it's fully executed already, we can reset it but it's not necessary as the workflow will automatically reset itself if we choose to execute from START to END). .. thumbnail:: /_images/Images/examples/WorkflowProvider/ExecuteWorkflow.png :title: Execute Workflow .. centered:: :sup:`Figure 12: Execute Workflow` | Viewing the Report ======================== After opening the Report Generator worker again, we can click on "View Simlytiks" to explore our executed data. .. thumbnail:: /_images/Images/examples/WorkflowProvider/ViewSimlytiks.png :title: View Simlytiks .. centered:: :sup:`Figure 13: View Simlytiks` | Here is how our Simlytiks exploration looks of our executed data! .. thumbnail:: /_images/Images/examples/WorkflowProvider/SimlytiksExploration.png :title: Simlytiks Exploration .. centered:: :sup:`Figure 14: Simlytiks Exploration` |