找回密码
 注册
Simdroid-非首页
查看: 40|回复: 0

[后处理] 减小ODB文件

[复制链接]
发表于 2017-8-28 17:24:34 | 显示全部楼层 |阅读模式 来自 北京
10.15.4 Decreasing the amount of data in an output database by retaining data at specific frames


This example illustrates how you can decrease the size of an output database. In most cases a large output database results from excessive field output being generated over a large number of frames. The Abaqus C++ API does not support the deletion of data from an output database; however, you can use this example program to copy data from select frames into a second output database created by a datacheck analysis that has identical model data. The original analysis and the datacheck analysis must be run using the same number of processors because the internal organization of data may differ based on the number of processors. The program uses addData to copy data at specified frames from the large output database into the new output database. The addData method works only when the model data in the two output databases are identical. For more information, see addData,Section 57.7.6 of the Abaqus Scripting Reference Manual.
When you run the program, the following command line parameters are required:
-smallOdb odbName
The name of the output database created with a datacheck analysis of the original problem. For more information, see Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD execution,Section 3.2.2 of the Abaqus Analysis User's Manual.



-largeOdb odbName
The name of the large output database generated by the original problem. The program copies selected frames from this output database.



The following parameters are optional:
-history
Copy all history output from all available steps in the large output database. By default, history output is not copied.
Warning:  Copying large amounts of history data can result in the program creating a very large output database.





-debug
Print a detailed report of all the operations performed during the running of the program. By default, no debug information is generated.
Warning:  If you are extracting data from a large output database, the debug option can generate large amounts of information.





You can also run the example with only the -help parameter for a summary of the usage.
The following is an example of how you can use this program in conjunction with the output database generated by the problem described in Free ring under initial velocity: comparison of rate-independent and rate-dependent plasticity,Section 1.3.4 of the Abaqus Benchmarks Manual. Use the following commands to retrieve the example program and the benchmark input file:
abaqus fetch job=odbFilter.Cabaqus fetch job=ringshell.inp
  • Run an analysis using the benchmark input file:
    abaqus job=ringshellThis creates an output database called ringshell.odb that contains 100 frames of data.
  • Run a datacheck analysis to obtain a new output database called ringshell_datacheck.odb that contains the same model data as ringshell.odb:
    abaqus job=ringshell_datacheck -input ringshell datacheck
  • Create the executable program:
    abaqus make job=odbFilter.C




The program displays the number of frames available in each step. For each step you must specify the number of increments between frames, which is the frequency at which the data will be copied to the new output database. Data for the first and last increment in each step are always copied. For example, if a step has 100 frames, and you enter a frame interval of37, the program will copy data for frames 0, 37, 74, and 100.
The following statement will run the executable program and read data from the small output database containing only model data and the large output database created by the benchmark example:
abaqus odbFilter -smallOdb ringshell_datacheck -largeOdb ringshell The program prompts you for the increment between frames:Results from ODB : ringshell.odb will be filtered & written to ODB: ringshell_datacheckBy default only the first & last increment of a step will be savedFor each step enter the increment between framesfor example : 3 => frames 0,3,6,..,lastframe will be savedSTEP Step-1 has 101 FramesEnter Increment between framesEnter 37 to define the increment between frames. The program then reads the data and displays the frames being processedrocessing frame # : 0Processing frame # : 37Processing frame # : 74Processing frame # : 100Filtering successfully completed





您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-27 02:16 , Processed in 0.029019 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表