LS-PrePost: Reading additional Nodal Field Data from binary or ASCII files

Hello, I am using LS-PrePost with a research code, and I want to be able to read additional output field data FOR THE NODAL POINTS. I need to use PrePost to generate both time-history and fringe (contour) plots with this additional nodal data information.

The additional nodal information is field output data other than velocities, accelerations, temperatures etc. which can be read by the binary files d3plot.

Based on the above, I wanted to ask if it is feasible to somehow read additional data with PrePost (either from binary or ASCII files).

Comments

  • Hi Ikoutromanos,

    I know you are writing your own LS-DYNA database, and want to add additional element and nodal data to the database. For element data, just like your said, you can use the additional history variables to do that, But for nodal data, it is a different story. Can you please tell us what exactly you want to do with the additional nodal information for, will that be just for fringing in LS-PrePost? You know there is "User Defined nodal value" that can be used to import data into LS-PrePost, only problem is that is only 1 state (time step) at a time. Another possibility is to borrow the slots in velocity, acceleration and temperature. Using that, the labels will not be correct. One more option is to write a BINOUT nodout branch that is in LSDA format, LS-PrePost can process a BINOUT/Nodout file and fringe data inside it. Of course, the final option is to develop capability that if there are additional data in the nodal result block, LSPP will need to know how to read it and visualize it, this is what I would like to avoid. Let me know what you think.

    Philip

  • Hi Philip,

    Yes, element data is not an issue.

    For nodal data: in the most general setting, we want to have data from simulations that involve coupled simulations involving combined stress analysis, heat transfer, mass transport, and chemical diffusion/reaction. The stress analysis and heat transfer part of the output (nodal temperatures, heat flux vectors etc.) can already be handled by the existing capabilities of LS-Prepost (and by the allocated spaces in the d3plot binary output files). The issue is with additional nodal quantities that we may have, such as mass content (or saturation degree), or concentration values from the chemical diffusion/reaction solution. We also need to add that the chemical diffusion/reaction solution may involve multiple chemical species: for example, we may have 10 chemical species, at which case we need to have the value of chemical concentration for 10 species at each node, etc.

    I need to emphasize that it is not necessary for LS-Prepost to know exactly what each one of the extra nodal quantities is. What I mean is that all we want LS-Prepost to do is understand that each node has an extra "n" field quantities printed in the output ("n" must be given by us somewhere in the d3plot file). LS-Prepost can use a generic terminology, e.g., "User Node value#1, User Node value#2, ... " for these quantities. As you mentioned, if I go to the Fringe dialog box where I decide which quantity to use for the fringe, there is already a "User" button that includes these quantities. When I select, e.g., User Node value#1, I get a File Open Dialog Box, but I do not know whether and how I can use this capability. All we want is to be able to load the data for these quantities for all the steps at once (and ideally, from the same binary d3plot file as the one with the other state data).

    At any rate, as long as PrePost can create fringe plots (and generate time history data) for each one of these "extra nodal quantities, then we will be able to know what each one of the "extra quantities" corresponds to. If you want, you can always simply add the extra capability (in the PrePost GUI) to manually label each one of the extra nodal variable quantities, after the d3plot files have been loaded.


    In summary, here is a potential approach to implement with the binary d3plot files, that would perfectly resolve our issue:

    1) In the CONTROL DATA section of the first d3plot file in our output set, we can use the flag IU (Flag for current geometry) as follows:

    • If IU = 0, then current geometry (or extra nodal field data) are NOT printed for each state (this is already implemented).
    • If IU = 1, then current geometry IS printed for each state, but there are NO extra nodal field data to be read (this is already implemented).
    • If IU > 1, then the current geometry is printed, and we also have an extra (IU - 1) field quantities for each node, and for each state.
    • If IU < 0, then current geometry is NOT printed for each state, but we have an extra (-IU) field quantities printed for each node, and for each state.

    2) PrePost can read the extra nodal field data in each state, and also allow users to create fringe plots AND generate time history plots.

    3) OPTIONAL (if this takes time to implement, then we can do without it): allow users to manually define (through the PrePost GUI) the name/label of each one of the extra nodal fields loaded.


    Please let me know what you think, and if you require any further information from me at this stage.

    Many thanks for your help,

    Yannis

  • Hi Yannis,

    I guess what you described here is very clear, of course, I think that is the only way to get it done properly. I will discuss with my developers and see what does it take to add such feature. If we add such feature, adding a little bit more work to define the label for each variable should not be much a problem. Will let you know what we will do.

    Philip

  • Hi Yannia,

    I want to come back to you on the “Extra variables” to be fringed (or visualized) in LS-PrePost. First of all, we really hate to implement the changes in D3plot files, because that will only be used by one user. I want you to know recently we have implemented something call “Binout Fringing”, Don’t know if you know about LS-DYNA BINOUT file? Binout is a binary database file (LSDA format) that stores nodal or elemental history data. It has many branches, for example, nodout is a branch to store nodal displacement, velocity, acceleration data, and elout is a branch to store element stress/strain data. Due to some special reason, some users want to use BINOUT file to store nodal/element data to be fringed, they only need to see the result of a small portion of the model, and they can save as many time steps as they want. Attached picture show you the interface of this feature. Binout file is in LSDA format, LSDA format is documented and if you can write your own data into LSDA format, then LS-PrePost will be able to visualize them. Let me know what you think about this option. 

    Philip


  • Philip,

    OK, I can try the binout file, but I had two questions:

    1) Is there any resource for me to understand the format of the LSDA files? I checked the LS-DYNA database manual, but did not find something related to LSDA or binout.

    2) When LS-Prepost loads a binout file, does it only recognize "pre-defined types" of data at the nodes, just like the d3plot files? If yes, will there be any conflict between, e.g., the displacements read by the binout and those read by the d3plot? I imagine that the answer is no, but I just want to make sure.

    Thank you,

    Yannis

  • philwho32philwho32 Member
    edited January 20

    Yannis,

    In the BINOUT file, you define whatever values you put in, including all the labels, there should not be any conflict between d3plot file and the binout data.

    Thanks,

    Philip

Sign In or Register to comment.