.. _generated_files: Generated Files ================================================ Various files are generated during the simulation. Here, each file is elaborated in detail. .. toctree:: :maxdepth: 2 :caption: Contents: ==== .. _nodes_info_master.mat: nodes_info_master.mat ---------------------- Data Structure :Size: Number of nodes X 5 :Structure: [id of nodes, x coordinate, y coordinate, z coordinate, contact;...] ============== ======= id of nodes ID of nodes. Integer. x coordinate x coordinate value y coordinate y coordinate value z coordinate z coordinate value contact depth of cut at specific node position. ============== ======= Descriptions Name of the variable in this mat file is ``nodes_info_master``. This includes **partial** nodes set representing the workpiece. Where Generated :ref:`grinding.crt_gear` Where Imported :ref:`grinding.show_nodes` :ref:`grinding.pcGen` ==== .. _nodes_infoOOO.mat: nodes_infoOOO.mat ---------------------- Data Structure :Size: Number of nodes X 4 :Structure: [id of nodes, x coordinate, y coordinate, z coordinate;...] Descriptions Name of the variable in this mat file is ``data_cur``. This includes partial nodes set representing the workpiece that is located close to the region of removal at the time frame. Where Generated :ref:`grinding.crt_nodesinfo_cylindVer` Where Imported * :ref:`grinding.pcGen` * :ref:`grinding.show_nodes` ==== .. _mastertool_info_modified.mat: mastertool_info_modified.mat --------------------------------- Data Structure :Size: Number of grits X 4 :Structure: [id of grits, x coordinate, y coordinate, z coordinate;...] Descriptions Name of the variable in this mat file is ``grits``. This includes ID of each grit and its position (X, Y, Z). The position is randomized to reproduce the actual grinding wheel where the grit is also randomly distributed. Where Generated :ref:`grinding.randomize` Where Imported :ref:`grinding.grit` ==== .. _toolnodes_info_OOO.mat: toolnodes_info_OOO.mat ---------------------- Data Structure :Size: Number of grits in focus X 4 :Structure: [id of grits, x coordinate, y coordinate, z coordinate;...] Descriptions Name of the variable in this mat file is ``nodes_extracted``. This includes partial nodes set that are located close to the region of removal at the time frame on the grinding wheel. .. warning:: Toolnodes are not related to abrasive grits. Where Generated :ref:`grinding.crt_wheel` Where Imported :ref:`grinding.grit` ==== .. _grit_OOO.txt: grit_OOO.txt ---------------------- Data Structure :Size: Number of grits in focus X 4 :Structure: [id of grits, x coordinate, y coordinate, z coordinate;...] Descriptions The data is stored in TXT file. (*It should be stored in MAT file in the future*) This includes partial grits set that are located close to the region of removal at the time frame. Where Generated :ref:`grinding.make_gritfile` Where Imported :ref:`grinding.calc_grain_data` ==== .. _grain_data/grain_data_OOO.mat: grain_data_OOO.mat ---------------------- Path grain_data/ Data Structure :Size: Number of grits in focus X 10 :Structure: [id_grits, x_grit, y_grit, z_grit, x_normal, y_normal, z_normal, x_move, y_move, z_move ;...] ============= ================================================== **id_grits** ID of each grit. **x_grit** x component of grit position. **y_grit** y component of grit position. **z_grit** z component of grit position. **x_normal** x component of normal vector at the grit position. **y_normal** y component of normal vector at the grit position. **z_normal** z component of normal vector at the grit position. **x_move** x component of the moving direction of the grit. **y_move** y component of the moving direction of the grit. **z_move** z component of the moving direction of the grit. ============= ================================================== Descriptions Name of the variable in this mat file is ``grain_data``. This includes partial grits set that are located close to the region of removal at the time frame. **Information of normal vector and moving vector are added to grit.txt.** Where Generated * :ref:`grinding.calc_grain_data` Where Imported * :ref:`grinding.remake_grain_data` * :ref:`grinding.machining` * :ref:`grinding.trans_workpiece` * :ref:`grinding.save_wheelsurface` Where Updated * :ref:`grinding.remake_grain_data` * :ref:`grinding.trans_workpiece` ==== .. _grain_data/grain_data_OOO.txt: grain_data_OOO.txt ---------------------- Path grain_data/ Data Structure :Size: Number of grits in focus X 10 :Structure: [id_grits, x_grit, y_grit, z_grit, x_normal, y_normal, z_normal, x_move, y_move, z_move ;...] ============= ================================================== **id_grits** ID of each grit. **x_grit** x component of grit position. **y_grit** y component of grit position. **z_grit** z component of grit position. **x_normal** x component of normal vector at the grit position. **y_normal** y component of normal vector at the grit position. **z_normal** z component of normal vector at the grit position. **x_move** x component of the moving direction of the grit. **y_move** y component of the moving direction of the grit. **z_move** z component of the moving direction of the grit. ============= ================================================== Descriptions This includes partial grits set that are located close to the region of removal at the time frame. **Information of normal vector and moving vector are added to grit.txt.** Where Generated * :ref:`grinding.calc_grain_data` Where Imported * :ref:`grinding.calc_GrainHeat` ==== .. _grit_OOO.mat: grit_OOO.mat ---------------------- Data Structure :Size: Number of grits in focus X 10 :Structure: [id_grits, x_grit, ygrit, z_grit, _normal, y_normal, z_normal, x_move, y_move, z_move ;...] ============= ================================================= **id_grits** ID of each grit. **x_grit** x component of grit position. **y_grit** y component of grit position. **z_grit** z component of grit position. **x_normal** x component of normal vector at the grit position. **y_normal** y component of normal vector at the grit position. **z_normal** z component of normal vector at the grit position. **x_move** x component of the moving direction of the grit. **y_move** y component of the moving direction of the grit. **z_move** z component of the moving direction of the grit. ============= ================================================= Descriptions Name of the variable in this mat file is ``grain_data``. This includes partial grits set that are located close to the region of removal at the time frame. Where Generated :ref:`grinding.remake_grain_data` Where Imported :ref:`grinding.show_nodes` ==== .. _wheel_workpiece_OOO.ply: wheel_workpiece_OOO.ply ------------------------- Descriptions Data of point cloud is stored in this file. It has header on top which is followed by data of each node. See `here `_ for more detail about its format. This particular file contains the point cloud data of both workpiece and grinding wheel in the vicinity of region of removal. Where Generated :ref:`grinding.show_nodes` Where Imported None ==== .. _workpiece.ply: workpiece.ply ------------------------- Descriptions Data of point cloud is stored in this file. It has header on top which is followed by data of each node. See `here `_ for more detail about its format. This particular file contains the point cloud data of workpiece in the vicinity of region of removal. Where Generated :ref:`grinding.pcGen` Where Imported None ==== .. _matdata_OOO.mat: matdata_OOO.mat ------------------------- Data Structure :Size: Number of nodes on workpiece surface X 4 :Structure: [x_node, y_node, z_node, ID of node;...] Descriptions Data of point cloud representing workpiece surface is stored in this file. Name of the variable in this mat file is ``wp_nodes``. Where Generated :ref:`grinding.pcGen` Where Imported None ==== .. _matdata_OOO_original.mat: matdata_OOO_original.mat ------------------------- Data Structure :Size: Number of nodes on workpiece surface X 4 :Structure: [x_node, y_node, z_node, ID of node;...] Descriptions Data of point cloud representing workpiece surface is stored in this file. Name of the variable in this mat file is ``wp_nodes``. Where Generated :ref:`grinding.pcGen` Where Imported None ==== .. _mastertool_info.mat: mastertool_info.mat ------------------------- Data Structure .. image:: /_static/fig_crt_master_wheel.png :scale: 50% :align: center Descriptions Point cloud data of grit on a grinding wheel. They are **before being randomized**. Name of the variable in this mat file is ``grits``. Where Generated * :ref:`grinding.crt_master_wheel` Where Imported * :ref:`grinding.crt_wheel` ==== .. _reftool_info.mat: reftool_info.mat ------------------------- Data Structure .. image:: /_static/fig_crt_master_wheel.png :scale: 50% :align: center Descriptions Point cloud of reference tool info. Node locations are representing only the wheel geometry but not the grit locations. Name of the variable in this mat file is ``nodes``. Where Generated * :ref:`grinding.crt_master_wheel` Where Imported * :ref:`grinding.crt_wheel` ==== .. _statistics_data_grain.txt: statistics_data_grain.txt ------------------------------ Data Structure Variable in the function ``make_statistics_data`` is ``sta_data`` which is defined as below: .. code-block:: sta_data=[alpha r]; where ===== ==== alpha Apex angles r Protrusion of grits ===== ==== Descriptions .. warning:: The data does not represent the apex angles and protrusions of actual grits. This is just a database to obtain a random parameters. Only 440 rows are incluided. So it is actually not a true random parameters. Only 440 patterns exist. Where Generated :ref:`grinding.make_statistics_data` Where Imported :ref:`grinding.machining` ==== .. _statistics_data_grain_main.txt: statistics_data_grain_main.txt ----------------------------------- Data Structure Variable in the function ``make_statistics_data`` is ``sta_data`` which is defined as below: .. code-block:: sta_data=[alpha r]; where ===== ==== alpha Apex angles r Protrusion of grits ===== ==== Descriptions .. warning:: The data does not represent the apex angles and protrusions of actual grits. This is just a database to obtain a random parameters. Only 440 rows are incluided. So it is actually not a true random parameters. Only 440 patterns exist. Where Generated :ref:`grinding.make_statistics_data` Where Imported None ==== .. _0.mat: 0.mat ----------------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/ Data Structure :Type: *pointCloud* object (Computer Vision Toolbox) Descriptions Name of the variable is ``ptCloud_LimitedSurface``. Where Generated :ref:`grinding.calc_AbrasiveMachining_PyramidVer` Where Imported :ref:`grinding.interpolant_gearsurface_second_step` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/machining_past_record.mat: machining_past_record.mat ----------------------------------------------------------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/ Data Structure Column vector of integer. Descriptions The frame numbers at which the material is removed by each grit are all recorded. Each row represents the material removal by a single abrasive grit. Therefore, the same frame number repetitively appears same times as the number of grits involved. Where Generated :ref:`grinding.interpolant_gearsurface_second_step` Where Imported :ref:`grinding.machining` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/matdata/matdata_0.mat: matdata_0.mat -------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/matdata/ Data Structure :Type: *pointCloud* object (Computer Vision Toolbox) Descriptions Name of the variable is ``ptCloud_LimitedSurface``. This file involves the point cloud representing the surface of workpiece at **frame 0**. Where Generated :ref:`grinding.interpolant_gearsurface_second_step` Where Imported :ref:`grinding.machining` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/surfacedata_after_grinding/surfacedata_after_grinding_OOO.mat: surfacedata_after_grinding_OOO.mat ------------------------------------ Path pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/surfacedata_after_grinding/ Data Structure :Size: Number of nodes X 4 Descriptions This file involves the node sets that is **after** the material removal of the time frame. Where Generated :ref:`grinding.machining` Where Imported :ref:`grinding.machining` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/surfacedata_before_grinding/surfacedata_before_grinding_OOO.txt: surfacedata_before_grinding_OOO.txt ------------------------------------ Path pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/surfacedata_after_grinding/ Data Structure :Size: Number of nodes X 4 Descriptions This file involves the node sets that is **before** the material removal of the time frame. Where Generated :ref:`grinding.machining` Where Imported :ref:`grinding.machining` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/graindata_grinding/graindata_grinding_OOO.txt: graindata_grinding_OOO.txt ----------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/graindata_grinding/ Data Structure :Size: Number of grits X 7 :Structure: [ID_grit, X_grit, Y_grit, Z_grit, X_apex, Y_apex, Z_apex] Descriptions This file involves the information of grits that engaged the workpiece at current time frame. Where Generated :ref:`grinding.machining` Where Imported :ref:`grinding.machining` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/grain_past_record.txt: grain_past_record.txt ------------------------ Path pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/ Data Structure :Size: Number of grit X 3 :Structure: [ID of grit, Frame_start, Frame_end; ...] Descriptions The file involves the information of the time frame at which the machining start and the time frame at which the machining end for each grit. Where Generated :ref:`grinding.machining` Where Imported :ref:`grinding.machining` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/matdata/matdata_OOO.mat: matdata_OOO.mat ----------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/xmin_xmax_ymin_ymax/matdata/ Data Structure :Type: *pointCloud* object (Computer Vision Toolbox) Descriptions Name of the variable is ``ptCloud_LimitedSurface``. This file involves the point cloud representing the surface of workpiece at current frame. Where Generated :ref:`grinding.machining` Where Imported :ref:`grinding.machining` ==== .. _test.ply: test.ply ---------- Data Structure :Type: *pointCloud* object (Computer Vision Toolbox) Descriptions Point cloud representing the grit positions **before** randomization. Where Generated :ref:`grinding.randomize` Where Imported None ==== .. _test_modified.ply: test_modified.ply ------------------ Data Structure :Type: *pointCloud* object (Computer Vision Toolbox) Descriptions Point cloud representing the grit positions **after** randomization. Where Generated :ref:`grinding.randomize` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/matdata/matdata_OOO.mat: matdata_OOO.mat (whole) ------------------------ Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/matdata/ Data Structure :Type: *pointCloud* object (Computer Vision Toolbox) Descriptions Name of the variable is ``ptCloud_LimitedSurface``. This file involves the point cloud representing the **WHOLE** surface of workpiece at current frame. Where Generated :ref:`grinding.save_matdata` Where Imported :ref:`grinding.anim_matdata` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/surfacedata_before_grinding/surfacedata_before_grinding_OOO.txt: surfacedata_before_grinding_OOO.txt (whole) -------------------------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/surfacedata_after_grinding/ Data Structure :Size: Number of nodes X 4 Descriptions This file involves the node sets that is **before** the material removal of the time frame of the **whole** surface of the workpiece. Where Generated :ref:`grinding.save_data_Pyramid_Ver_ver3` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/surfacedata_after_grinding/surfacedata_after_grinding_OOO.txt: surfacedata_after_grinding_OOO.txt (whole) ------------------------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/surfacedata_after_grinding/ Data Structure :Size: Number of nodes X 4 Descriptions This file involves the node sets that is **after** the material removal of the time frame of the **whole** surface of the workpiece. Where Generated * :ref:`grinding.save_data_Pyramid_Ver_ver3` Where Imported * :ref:`grinding.save_MRR` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/graindata_grinding/graindata_grinding_OOO.txt: graindata_grinding_OOO.txt (whole) ----------------------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/graindata_grinding/ Data Structure :Size: Number of grits X 7 :Structure: [ID_grit, X_grit, Y_grit, Z_grit, X_apex, Y_apex, Z_apex] Descriptions This file involves the information of grits that engaged the workpiece at current time frame for the **whole** surface of workpiece. Where Generated :ref:`grinding.save_data_Pyramid_Ver_ver3` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/grain_past_record.txt: grain_past_record.txt ------------------------ Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/ Data Structure :Size: Number of grit X 3 :Structure: [ID of grit, Frame_start, Frame_end; ...] Descriptions The file involves the information of the time frame at which the machining start and the time frame at which the machining end for each grit. The data is for **whole** surface of the workpiece. Where Generated :ref:`grinding.save_grain_past_record` Where Imported :ref:`grinding.analyze_data` ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/MRR/MRR_OOO.txt: MRR_OOO.txt (whole) ------------------------ Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/MRR/ Data Structure :Size: Number of time frames x 2 :Structure: [framenum, volume(μm^3s); ...] Descriptions Calculated material removal rate for each time frame. Where Generated * :ref:`grinding.save_MRR` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/depth_of_cut/depth_of_cut_OOO.txt: depth_of_cut_OOO.txt (whole) ----------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/depth_of_cut/ Data Structure :Size: Number of time frames x 2 :Structure: [framenum, depth of cut(mm); ...] Descriptions Calculated depth of cut for each time frame. Where Generated * :ref:`grinding.save_depth_of_cut` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/MaterialRemoval.avi: MaterialRemoval.avi ----------------------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/ Descriptions Video of the material removal by each grit. Where Generated * :ref:`grinding.anim_matdata` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/heatdata/heatdata_OOO.txt: heatdata_OOO.txt ----------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/heatdata/ Data Structure :Size: Number of time frames X 12 :Structure: [framenum, heat of primary rubbing, heat of secondary rubbing, heat of cutting, heat of ploughing, heat sum, X_grit, Y_grit, Z_grit, X_apex, Y_apex, Z_apex;] Descriptions Heat information of each grit. The ID of grit is included in the file name. Where Generated * :ref:`grinding.calc_GrainHeat` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/hmax/hmax_OOO_OOO.txt: hmax_OOO_OOO.txt ----------------- Path pyramid/XMIN_XMAX_YMIN_YMAX/whole/hmax/ Data Structure :Size: Number of grits X 5 :Structure: [grit ID, maximum depth of cut, start frame, end frame, time frame when the maximum depth of cut was recorded] Descriptions Information of maximum depth of cut for each grit. Where Generated * :ref:`grinding.calc_hmax` Where Imported None ==== .. _pyramid/XMIN_XMAX_YMIN_YMAX/whole/heatdata_each_frame/heatdata_OOO.txt: .. _pyramid/xmin_xmax_ymin_ymax/whole/q/q_div_ooo_frame_ooo_ooo.txt: .. _pyramid/xmin_xmax_ymin_ymax/whole/sum_mrr/sum_mrr_ooo_ooo.txt: .. _pyramid/xmin_xmax_ymin_ymax/whole/sum_heatdata/sum_heatdata_ooo_ooo.txt: .. _rot_num_past: Indices and tables ------------------ * :ref:`genindex` * :ref:`modindex` * :ref:`search`