5.2. C++ Extractors¶
This section describes the available c++ extractor commands
d3plot¶
extractor -t d3plot
--file,-f file_name - input file_name
--part,-p n - option to output part info for a single part id
--element,-e n - option to output element info for a single element id
--node,-n list - option to output infor for 1 or more node ids
--component,-c n - option to output info for a component
(ps, vm, ie, ke, x_coord, y_coord, z_coord, total_coord, x_disp, y_disp, z_disp, res_disp, x_vel, y_vel, z_vel, res_vel, x_accel, y_accel, z_accel, res_accel)
--output,-o file_name - output file_name
--summary,-s - flag to output summary
--help,-h - help message
--verbose,-v - flag for verbose
--debug,-d - flag for debug information
--bom-exclude-vm - flag to exclude von-mises from the bom
--bom-exclude-eps - flag to exclude plastic strain from the bom
--bom-exclude-non-zero-ie - flag to exclude non zero internal energy values from the bom
--bom-exclude-non-zero-vm - flag to exclude non zero von-mises values from the bom
--bom-exclude-non-zero-eps - flag to exclude non zero plastic strain values from the bom
--bom-order-by str - order the bom by a component
(ie | ke | x_vel | y_vel | z_vel | mass | hge | eps | vm)
--bom-order-type str - sort order (desc, asc) default is ascending
--bom-limit n - only include n values in the bom
--bom-partition-num n - include a bom for each n partitions
--output-spaces - flag to output json or js3d on mutiple lines insead of all on one line
--js3d list - comma separted list of states
--js3d-group-file file_name - group file name to read for js3d output
--js3d-set-precision n - set the precision for js3d output
--js3d-num-states n - limit the number of states for js3d output
--js3d-search-group - flag to search for group file in the current directory
--js3d-threshold n - skip elements outside the threshold
--js3d-threshold-left n - first state number for threshold
--js3d-threshold-right n - end state number for threshold
--js3d-transform-cs list - comma separated list of 3 or 9 coordinates
--js3d-transform-cs-ids list - comma separated list of 1 or 3 ids
--js3d-follow-node node_id - option to follow a node_id when annimating the js3d
--js3d-output-name file_name - file name for js3d output
--js3d-fringe-eps - flag to include plastic strain fringes
--js3d-fringe-vm - flag to include von-mises fringes
--js3d-fringe-disp - flag to include displacement fringes
--js3d-fringe-vel - flag to include velocity fringes
--js3d-shade-factor n - factor to multiply each color component by to change the shade (between 0 and 1, 0 is darkest and 1 is brightest, 1 is default)
--js3d-element-deletion - flag to include element deletion
--js3d-node-ids - flag to add node ids to js3d
--js3d-element-ids - flag to add element ids to js3d
--js3d-bom - flag to include the bill of materials
--js3d-top-parts str_list - comma separated list of types
(ie, mv, eps) add a number of curves to the js3d output based on the js3d-top-n value
--js3d-top-n n - cut off limit for js3d-top-parts
--parts part_ids - comma separted list of part ids
--fringe-sph types_list - comma separted list of types
(density, plastic_string, mass, pressure)
--js3d-include-groups - flag description
--js3d-fringe-xdisp - flag to include x-displacement fringes in the js3d output
--js3d-fringe-ydisp - flag to include y-displacement fringes in the js3d output
--js3d-fringe-zdisp - flag to include z-displacement fringes in the js3d output
--setw n - number of spaces to indent the output (0 or not setting this command at all is no indent)
--all-faces - flag include all faces for elements even if they are duplicates from other elements
--output-connectivities - flag to output connectivities
--js3d-fringe-history list - comma separted list of history var numbers
includes history variable fringes in the js3d
--js3d-fringe-triaxiality - flag to include triaxiality fringes
--state-inc states_list - comma separted list of states, or start:end[:increment]
--add-mesh-lines - flag to add mesh lines to js3d
d3hsp¶
extractor -t d3hsp
positional arguments
(1) rule.json file
(2) d3hsp file
ex:
extractor -t d3hsp rules.json d3hsp
punch¶
extractor -t punch
--file,-f file_name - punch file path
--input-json,-i file_name - input json to extract a curve
--output file_name - output file
--summary,-s - flag to include summary response
--help,-h - flag to print help message (not finished)
--extract,-e - flag to extract curves
--debug debug_file file_name - file to write debug information to
--title list - comma separated list of titles to filter by
--subtitle list - comma separated list of subtitles to filter by
--label list - comma separated list of labels to filter by
--type list - comma separated list of types to filter by
--subcase-id list - comma separated list of subcase_ids to filter by
--entity-id list - comma separated list of entity_ids to filter by
--entity-type-id list - comma separated list of entity_type_ids to filter by
--entity-type list - comma separated list of entity_types to filter by
--curve-type list - comma separated list of curve_types to filter by
(xvel, yvel, zvel, Rxvel, Ryvel, Rzvel, xphase, yphase, zphase, Rxphase, Ryphase, Rzphase, magnitude, phase)
--magnitude-phase str - true|false
--setw n - number of spaces to indent the output (0 or not setting this command at all is no indent)
--csv file_name - csv file to write the curve to
--eigen - flag to use eigen value and mode instead of subcase id
The input file information will overwrite the manual flags
If --output is not true, results are printed to std out
time_history¶
extractor -t time_history
positional arguments, these are the 4 possibilities:
extractor -t time_history file_name -s
extractor -t time_history file_name -a
extractor -t time_history file_name -cs parameter_spec
extractor -t time_history file_name -c parameter_spec
-v can be added to the end of any of these commands for verbose output
d3plot_writer¶
extractor -t d3plot_writer
--help,-h - help message
--file,-f file_name - input file name
--outdir,-o dir_name - directory to wirte output to
--prefix,-p str - prefix for the output file names
--debug,-d - flag to output debug info to stdout
--plastic-strain - flag to keep plastic strain info
--stress-components - flag to keep stress componenets info (von-mises)
--shell-thickness - flag to keep shell thickness info
--shell-force-resultants - flag to keep shell force resultants info
--velocity - flag to keep velocity info
--acceleration - flag to keep acceleration info
--temperature - flag to keep temperature info
--states list - comma separated list of states to use
--num-states n - splits the states evenly into n states
--history-var n - max number of history vars to keep (eg: to keep 7, the first 6 must also be kepth)
--setw n - number of spaces to indent the output (0 or not setting this command at all is no indent)
keyword¶
extractor -t keyword
--file,-f file_name - keyword file to extract from
--output,-o file_name - file to write the output to
--help,-h - help message
--summary,-s - flag to write out summary
--debug,-d - flag to output debug info to stdout
--setw n - number of spaces to indent the output (0 or not setting this command at all is no indent)
--shade-factor n - factor to multiply each color component by to change the shade (between 0 and 1, 0 is darkest and 1 is brightest, 1 is default)
--keyword-writer list - will write out a new keyword with keywords specified in argument. ex: --keyword-writer "keyword, include, element_shell, end"
--js3d - flag to output js3d to file specified in --output
--parts list - list of part ids to include in the js3d ex: --parts "1,2,3,4" if not specified it will include all parts
--group-file file_name - group file to read and create js3d files for each group. file_name will be keyword_groupname.js3d
dic¶
extractor -t dic
--file,-f file_name - d3plot file name
--output,-o file_name - js3d output file name
--states list - comma separated list of states to use, length must be the same as number of dic files
--bound-box-scale n - default is 1
--prefix str - default is 'test-', this is used to detect dic files starting with prefix str
--point-increment n - default 1, gets every other n values from dic data
--rotatez n - default is 0, rotates the dic data by n deg before finding translation value
--top-n-percent n - if not specified, there is no translation detection
--csv-file csv_name - used to match dic time with simulation time
--time-scale n - factor to multiply by the dic time when matching with simulation time
--summary - flag to output summary json, will not create output if this option is used
--dic-file file_name - use this dic file instead of detecting all the files (used with states_list as one file, ex: --dic_file test-100.csv --states 100)
Dic data with state_time csv specifying dic file name (last dic_file)
extractor -t dic -o error_bound_scale.js3d.zip -f d3plot --rotatez 90 --point-increment 4 --top-n-percent 1 --dic-file test-0867_0.csv --csv-file state_time_disp.csv --time-scale .2
Dic data specifying the states that match up with the dic files
extractor -t dic -o bound_box_multistate.js3d -f d3plot --rotatez 90 --point-increment 20 --states 1,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89 --top-n 1 --summary
Dic data with state_time csv detecting all files and referencing the state_time csv
extractor -t dic -o time_match.js3d.zip -f d3plot --rotatez 90 --point-increment 4 --top-n-percent 1 --csv-file state_time_disp.csv --time-scale .2
This results in a states array of [1, 74, 75, 75, 76, 77, 78, 79, 79, 80, 81, 82, 83, 83, 84, 85, 86, 87, 87] which seems to have some weird results that I think is because some states are repeated so --csv-file option shouldn't be used with multi states
bms¶
extractor -t bms
--file,f file_name - name of bms file
--json,o file_name - name for json output
--summary,s - flag to output a summary
--debug,d - flag to output debug info
--point-increment n - reads every other n value from the file
--setw n - number of spaces to indent the output (0 or not setting this command at all is no indent)
--csv str - for each yname, write a csv file as xname_vs_yname_str - one curve per csv file
--x-name str - name of the column for the x values
--y-names list - comma separated list of names of the columns for the y values, will put all curves in one group unless using colon (see below)
--rsp-per-file n - number of responses per file
--x-limit n - parameter used to skip points based on x interval
--x-limit-factor n - parameter used to skip points based on x interval factor
to use the no-repeating option:
--rm-repeating -flag to skip repeating or points within the error range
--error-factor n -default of 0 which means it will only skip points that are exactly the as the previous point, the range is last added yval +- (ymax-ymin)*error
to use the rdp algorithm:
--rdp -flag to use Ramer-Douglas-Peucker algorithm
--error-factor n - the limit for the perpendicular distance between 2 points and the perpendicular distance between those two end points and all points in between
to have multiple curve groups, names are comma separated, groups are colon separated:
--y-names 'group1_name1,group1_name2:group2_name1,group2_name2...'