Post-Processing of data from Point HTC¶
This example demonstrates how to use PanPython SDK handling the raw data from HTC point calculation and perform statistical analysis of these data. In this example, raw data are commingled in a single merged CSV file (merged.csv), which is then visualized through a Jupyter notebook.
Point HTC is discussed in Parallel High-Throughput Point Calculation (HTC).
About point HTC¶
Point HTC allows a user to perform calculations for numerous compositions and/or temperatures in the user-defined state space by a simple setting. Alloy compositions and/or temperatures that satisfy user-defined criteria can then be discovered through data mining of the simulated results.
A step-by-step guide¶
Note
A video guide will be available very soon.
- Open the demo folder
“/Solution Examples/panhtc_points_post_process/” from PyCharm IDE. See Installation to setup the IDE environment.
- Build a task script
An example script panhtc_points_post_process.py has already been include. Following the steps the create your script:
- Import packages
from panpython.sdk.stat.htc_result_post_processing import PandatHTCResultProcessor import os
- Setup working folders and input files:
dir_name = os.path.abspath(__file__) file_name = os.path.basename(__file__) task_path = dir_name[:-len(file_name)] htc_result_parent_path = 'source/default'
- Setup table name of each point calculation:
file_name = 'Default.table'
- Setup output path and output file name ‘merged.csv’
dump_path = os.path.join(task_path, 'output') file_output = 'merged.csv'
- Run post-processing of point HTC:
if __name__ == "__main__": m_processor = PandatHTCResultProcessor(parent_path=htc_result_parent_path, file_name=os.path.join('Table', file_name), cal_type='point') m_processor.save_to_csv(output_path=dump_path, output_file=file_output)
- Run the post-processing script
After the post-processing is finished, a generated csv file (merged.csv) is ready to be used. See The inputs and outputs of this post-processing task for details.
Visualize post-processed data¶
An example Jupyter notebook panhtc_points_post_process.ipynb has already been included. Run it through terminal:
>jupyter notebook panhtc_points_post_process.ipynbRun through the notebook, and click “Display/Refresh” button, an interactive plot will be displayed:
Select tabs on the plot to display the correlation between properties and composition
Select ranges of properties and display corresponding composition range. For example, set volume fraction of Fcc > 50%, and click “Display/Refresh” button, the plot will be updated to:
Change combination of properties, select ranges of properties, and display corresponding composition range. For example, set volume fraction of Fcc > 50% and Diamond < 50%, and click “Display/Refresh” button, the plot will be updated to:
The inputs and outputs of this post-processing task¶
The following figure displays inputs and outputs of this post-processing task.
- File structure
The follow diagram displays the file structure used by this post-processing task:
Note
The “resource” folder is a copy of Pandat workspace. See details of Pandat workspace in Chapter 2.1 of Pandat Manual: .
panhtc_points_post_process |- output # outputs | └─ merged.csv # A CSV file containing results after post-processing └─ resource # a copy of Pandat workspace folder └─ default # The parent folder containing all HTC points └─ Point Calculation_X # The X-th child folder of point calculation └─ Table # The folder containing .table file └─ Default.table # the .table file from a Pandat calculation
- Inputs
The input files are under /resource folder.
resource/default/Point Calculation_X/Table/Default.table: A Pandat .table file containing a point calculation result
- Outputs
The output files are under /output folder.
merged.csv: A CSV file containing results after post-processing.
- merged.csv
Piont HTC results are combined into the merged.csv file, with an additional “task_id” column as index.