Read binary result file, compute data and use as result file in HyperView

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

Hello everyone,

 

I want to create a script, which takes data from binary files (e.g. binout from LS-Dyna, it stores curve data), computes it (e.g. find the maximum value of a curve) and create a result file, which can be used in HyperView (e.g. as a result for a contour plot). To be more specific, I want to create a contour plot for spot weld elements, which contains maximum values (constant over time) of spot weld forces, which are given in a binary output file from LS-Dyna.

 

I did not find an easy solution for this task, therefor I tried to break it down. This describes my plan backwards from the finish to the start:

- To create a contour plot from custom data, I can use an XML file, which defines my datatype (see 'HyperWorks Result Math/Creating New Datatypes')

- To access data, which will be used for the new datatype, I can create a TCL Plugin or use TCL commands respectively

- The data is contained in a binary file. I want to either use HW TCL commands to access the LS-Dyna binary output directly or use the commands to access an Altair Binary Format file (ABF), which might be easier

- If I want to use the ABF file, I have to translate the LS-Dyna binary output file via HGTRANS first

 

Further applications could be the storage of the computed values as *.csf file, therefor I am really interested in the reading of this data.

 

Since I am really new to this topic, I would need some opinions and tips for this.

 

Makes the whole process sense or is there an easier way?

 

Which TCL or HW TCL commands can I use to access data in a binary file (LS-Dyna Binout or ABF)?

 

Thank you.

 

Update 1:

I wrote a script to access curves, which are plotted in HyperGraph, and store them in a database array. Then I write the data into a CSV file, to evaluate it with Excel.

I think this was the easy part.

 

The next question is, how do I read curve data from binary files? Can anyone help?

 

Answers

  • tinh
    tinh Altair Community Member
    edited January 2019

    Finnaly i understand that your work needs tons of tasks.

    I wonder why hyperview cannot read that bin file, forces you to read by tcl? It is not supported by HV?

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2019

    If there is an easier solution, I am happy to try it.

     

    I can read the Binout file with HyperGraph and plot the curves. Each curve describes a value for an element. That works fine and that is the normal process. But I want to work with the maximum values of each element, since this is what needs to be checked during post processing.

     

    I would like to have this data in some kind of table, where for each spot weld element the different maximum forces (axial, shear, moment) are available. On the one hand I could use this data for a contour plot or to query it quickly for evaluation.

     

    Therefor I tried to figure out, where to get this data from. I don't need the curves, but maybe I have to open them first to process them into the table I am looking for. The other option, the one I described in my first post, is to read the data directly from the Binout file.

  • tinh
    tinh Altair Community Member
    edited January 2019

    HV can export max value of curves.

    But I don't know how it can be used to make contour plot.

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2019

    Thank you for your quick reply.

    How can I export max values of curves?

     

  • tinh
    tinh Altair Community Member
    edited January 2019

    Thank you for your quick reply.

    How can I export max values of curves?

     

    By tcl, you have to look up relevant commands in HW reference help

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2019

    Well that is what I meant initially. I think it is possible, to write it all in TCL and XML as described in my first post.

    When you said, HV can export max values, I thought you meant there exists a function, I did not find before.

     

    But to create a TCL script for it, is what I meant with

    - To access data, which will be used for the new datatype, I can create a TCL Plugin or use TCL commands respectively

     

    I found commands and scripts, which work with curve data, which is opened in HyperGraph.

    If anyone knows how to access curve data directly from binary files, I would love to know it.

  • Q.Nguyen-Dai
    Q.Nguyen-Dai Altair Community Member
    edited February 2019

    In general, you can not access to binary data unless you know data structure from point of view of programming.

  • tinh
    tinh Altair Community Member
    edited February 2019

    Yes, you have to know data structure directly.

     

    HV can access it.

    Tcl can invoke HV.

    And you knew how to use Tcl.