HyperStudy

HS-1506: Register a HyperMath Function in HyperStudy

HS-1506: Register a HyperMath Function in HyperStudy

Previous topic Next topic Expand/collapse all hidden text  

HS-1506: Register a HyperMath Function in HyperStudy

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

In this tutorial you will learn how to register a HyperMath function in HyperStudy. The objective of this tutorial is to find the RADIOSS material parameter values so that the stress-strain curve of the tensile test simulation matches the tensile test experimental curve. HS-4200: Material Calibration Using System Identification provides an alternative method to setup this problem using system identification.

By the end of this tutorial, you will know how to:

Create an input template from a RADIOSS file using the HyperStudy - Editor
Setup a study
Run a system identification optimization study

 

The sample base input template used in this tutorial can be found in <hst.zip>/HS-1506/. Copy the files TENSILE_TEST_0000.rad, TENSILE_TEST_0001.rad, TENSILE_TEST_0000.tpl, experiment.xy, and curve_difference_pure.hml from this directory to your working directory. The .hml file contains a function that calculates the area between two curves.

hmtoggle_plus1grey Description of the Model

A quarter of a standard tensile test specimen is modeled using symmetry conditions. A traction is applied to a specimen via an imposed velocity at the left-end.

The units are: mm, ms, g, N, MPa.

hs_1505_1

Geometry of the Tensile Specimen (One Quarter of the Specimen is Modeled)

hs_1505_2

Sections of Node Saved for Time History

The material to be characterized is a 6063 T7 Aluminum. It has an isotropic elasto-plastic behavior which can be reproduced by a Johnson-Cook model without damage (RADIOSS Block Law2), defined as follows:

hs_1505_function

hs_1505_intro

In this study, the parameters a, b, n, σmax (maximum stress), and the Young modulus are defined as input variables. The stress-strain curve obtained by the experimental test is shown in the following image.

hs_1505_3

Engineering Stress Versus Engineering Strain Curve (Experimental Data)

For the simulation results, engineering strains will be obtained by dividing the displacement of node 1 by the reference length (75 mm), and engineering stresses will be obtained by dividing the force in section 1 by its initial surface (10.2 mm2).

hs_1505_4

Engineering Stress Versus Strain Curve (Simulation Results)

 

hmtoggle_plus1greyStep 1: Register the HyperMath Function for HyperStudy Usage

The function curve_difference calculates the integral of the absolute value of the difference between two curves over the common domain of the supplied functions. This is a robust function that tends to zero only as the two functions become equal.

hs_1506_1

1.Start HyperMath.
2.From the menu bar, click File > Open.
3.In the Open File dialog, open the file curve_difference_pure.hml.
4.Highlight the function curve_difference(...).
5.Right-click on the highlighted text and select Register with HyperGraph/HyperStudy from the context menu.
6.In the Register with HyperGraph/HyperStudy dialog, click OK.
7.Close HyperMath.

 

hmtoggle_plus1greyStep 2: Perform the Study Setup
1.Start HyperStudy.
2.To start a new study, click File > New from the menu bar, or click files_new_hst2 on the toolbar.
3.In the HyperStudy – Add dialog, enter a study name, select a location for the study, and click OK.
4.Go to the Define models step.
5.Add a Parameterized File model.
a.From the Directory, drag-and-drop the TENSILE_TEST_0000.tpl file into the work area.

hs_1506_drag_drop_model

b.In the Solver input file column, enter TENSILE_TEST_0000.rad. This is the name of the solver input file HyperStudy writes during any evaluation.
c.In the Solver execution script column, select RADIOSS (radioss).
d.In the Solver input arguments column, enter -both at the end of $file. This solver input argument runs the Starter and the Engine of RADIOSS for the crash analysis, and also prevents the creation of the .h3d result file from animation files.
Note:X is the number of CPUs to use for the simulation.

hs_1506_define_model2

6.Define a model dependency.
a.In the work area, right-click on the model and select Model resources from the context menu.
b.In the Model Resource dialog, click Add Resource.
c.In the Add - HyperStudy dialog, set Type to Normal and click OK.
d.In the Origin Path field, navigate to your working directory and open the TENSILE_TEST_0001.rad file.
e.Set Operation to Copy.
f.Click Close.

hs_1506_model_resource

7.Click Import Variables. Five input variables are imported from the TENSILE_TEST_0000.tpl resource file.
8.Go to the Define Input Variables step.
9.Review the input variable's lower and upper bound ranges.
10.Go to the Specifications step.

 

hmtoggle_plus1greyStep 3: Perform the Base Run
1.In the work area, set the Mode to Nominal Run.
2.Click Apply.
3.Go to the Evaluate step.
4.Click Evaluate Tasks. An approaches/nom_1/ directory is created inside the study directory. The approaches/nom_1/run__00001/m_1 directory contains the TENSILE_TESTT01 file, which consist of the time history results of the simulation.
5.Go to the Define Output Responses step.

 

hmtoggle_plus1greyStep 4: Create and Define Output Responses

In order to fit the RADIOSS stress-strain curve to the experimental data, you must compare the two curves. In this step, you will use the HyperMath function curve_difference. Tutorial HS-1505 uses a temple function, and tutorial HS-4200 uses system identification to solve the same problem.

1.Create an output response labeled Area Between Two Curves.
a.Click Add Output Response.
b.In the HyperStudy - Add dialog, add one output response and label it Area Between Two Curves.
2.Create a file source labeled Disp_sim.
a.From the Directory, drag-and-drop the TENSILE_TEST01 file, located in approaches/nom_1/run_00001/m_1, into the work area.
b.In the File Assistant dialog, set the Reading technology to Altair® HyperWorks® and click Next.
c.Select Single item in a time series, then click Next.
d.Define the following options, then click Next.
Set Type to None/Node 1.
Set Request to 4 Node 1.
Set Component to DX-X Displacement.

hs_1505_disp_sim

e.Label the file source Disp_sim.
f.Clear the Linked to a new Response checkbox.
g.Click Finish

hs-4200-1

3.Create a second file source labeled Force_sim by repeating step 1, except select the following options:
Set Type to Section/SECTION_2.
Set Request to 2 section 1.
Set Component to FT-Resultant Tangent Force.
4.Create a third file source labeled Strain_exp.
a.In the Expression column of the output response, click hs_popupdialogicon.
b.In the Expression Builder, click Add File Source.
c.In the Add - HyperStudy dialog, define the file source and click OK.
Label the file source Strain_exp.
Select the type Reference file.
d.In the File column of the output response, click hs_popupdialogicon.
e.In the Vector Source dialog, define the vector and click OK.
In the File field, navigate to your working directory and open the experiment.xy file.
Set Type to Unknown.
Set Request to Block1.
Set Component to Column 1.

hs_1506_vector_3

5.Create a fourth file source labeled Stress_Exp by repeating step 4, except select the following options:
Set Type to Unknown.
Set Request to Block1.
Set Component to Column 2.
6.Define the Area Between Two Curves output response.
a.In the Expression Builder, click the Functions tab.
b.From the list of available functions, select curve_difference.
c.Click Insert Varname. The function curve_difference()appears in the Evaluate Expression field.

hs_1506_2

d.In the Evaluate Expression field, edit the expression so that it reads curve_difference(m_1_v_1/75,m_1_v_2/10.2,v_3,v_4).
Note:In the expression, you will notice that the four vectors are entered differently. The varname for the first two vectors created using the File Assistant are labeled as m_1_v_#, whereas the varname for the last two vectors created in the Expression Builder are labeled as v_#.

The displacements and forces are read from the simulation, whereas from the experiment you have strains and stresses. In order to convert the displacement and forces to strains and stresses, you need to divide the displacements by the length (75) and forces by the area (10.2).

hs_1506_3

 

hmtoggle_plus1greyStep 5: Run an Optimization Study
1.In the Explorer, right-click and select Add Approach from the context menu.
2.In the HyperStudy - Add dialog, select Optimization and click OK.
3.Go to the Select Input Variables step.
4.Review the input variable's lower and upper bound ranges.
5.Go to the Select Output Responses step.
6.Add an objective.
a.Click the Objectives tab.
b.Click Add Objective.
c.In the HyperStudy - Add dialog, add one objective.
d.Define the objective.
Set Type to Minimize.
Set Apply On to Area Between Two Curves (r_1).

hs_1505_objective

7.Click Apply.
8.Go to the Specifications step.
9.In the work area, set the Mode to Adaptive Response Surface Method (ARSM).
Note:Only the methods that are valid for the problem formulation are enabled.
10.Click Apply.
11.Go to the Evaluate step.
12.Click Evaluate Tasks.
13.Optional. Click the Evaluation Plot tab to plot the optimization iteration history of the objective.

hs_1506_4

14.Optional. Click the Iteration History tab to review the iteration history in a table.

 

 

 

See Also:

HyperStudy Tutorials