Exporting history data from FLAC3D

Hi,

What is the fastest way of printing history data to a file?

I use the following code but it takes too much time to write a file.

fish define outpiledispdata

loop local iii(1,1480,1)

local PDisX=“PileDx”+string(iii)
local PDisY=“PileDy”+string(iii)
local PDisZ=“PileDz”+string(iii)
local PRoX=“PileRx”+string(iii)
local PRoY=“PileRy”+string(iii)
local PRoZ=“PileRz”+string(iii)

command

history export [PDisX] vs “time” skip 1000 table “PDisX”
history export [PDisY] vs “time” skip 1000 table “PDisY”
history export [PDisZ] vs “time” skip 1000 table “PDisZ”
history export [PRoX] vs “time” skip 1000 table “PRoX”
history export [PRoY] vs “time” skip 1000 table “PRoY”
history export [PRoZ] vs “time” skip 1000 table “PRoZ”

table “PDisX” export “PileDisX” append
table “PDisY” export “PileDisY” append
table “PDisZ” export “PileDisZ” append
table “PRoX” export “PileRotX” append
table “PRoY” export “PileRotY” append
table “PRoZ” export “PileRotZ” append

end_command

end_loop

end

Just try exporting directly the history to a file without passing through the tables, ie:

history export [PDisX] vs “time” skip 1000 file “PileDisX” truncate

Please also consider to use the keyword “truncate” instead of “append”, so that prexisting files are overwritten.

Thank you for the information. I skipped the table part as you recommended but it is still too slow.

I use “append” because I transfer the data for more than one structural element. I add the new data at the end of the previous one thereby piling all data in just one file. Because I am doing it for 1400 pile elements.

The procedure I followed for data transferring:

  1.  Before running the analysis,
    

structure node history name “PDisX” displacement-x component-id 1

  1.  After the analysis,
    

history export “PDisX” vs “time” skip XXX file “PileDisX”

Note that item “2” takes too much time. I give the results of my tests for this line as follows:

Displacement data (in one direction) transferring for the one node of a pile element

Number of cycles: 1,100,000

Number of data points to be transferred: 110,000

Number of skipped data points: 0

Number of recorded data points: 110,000 (3223KB)

Time elapsed for recording the (11) data points: ≈2 minutes

Displacement data (in one direction) transferring for the one node of a pile element

Number of cycles: 1,100,000

Number of data points to be transferred: 110,000

Number of skipped data points: 10,000

Number of recorded data points: 11 (less than 1KB)

Time elapsed for recording the (11) data points: ≈2 minutes

Conclusion:

  1.  Data transferring takes too much time with “history export file” command probably because of
    
  2.  Skipping data points doesn’t give time saving.
    
  3.  I have 1480 nodes. 2min x 1480 ≈49 hours for just one direction displacement output
    

Questions:

  1.  Is there any faster way to transfer data?
    
  2.  Or, how can I improve the data transferring process for time saving?
    

Other info:

  1.  FLAC3D automatically records 2,000 data points per second if I don’t use “skip” command.
    
  2.  I don’t need 2,000 data points per second, 100 data points per second is enough for me.
    
  1. Use a larger interval, et al

history interval 500

before solving command will reduce the history points for each history.

  1. No need to export one history for one command. You can export multiple histories into one file, for example,

history export [PDisX] [PDisY] [PDisZ] [PRoX] [PRoY] [PRoZ] vs “time” …

Thank you very much. Now it is OK.

Hi,

Is there a way to export all existing histories to one file, without having to list all of them by name? or somehow dynamically pass a list of histories to export?

Thansk!

Currently, there is no direct way to export all existing histories to one file without listing them by name or dynamically passing a list of histories to export.

See:
history
zone history command