Policrack is an Abaqus/CAE plugin aiming to facilitate and automate the analysis workflow and visualization of elliptic cracks.
Copyright © 2010, 2011 Dimitar Danov, Prof. Mario Giagliano, Politecnico di Milano
Distributed under the terms of MIT License.
Policrack is a toolset geared towards the analysis of elliptic crack in Abaqus.
It can generate specialized model databases, post-process, store results data, create visualizations and automate the analysis.
The specialized model databases or Policrack Models PM are FEM or XFEM models with different meshing strategies, of embedded, surface or corner cracks. PM can be used as part of a sub-modeling procedure.
Policrack visualization is an intuitive 3D representation of K-Factors, crack propagation direction and other crack parameters on the crack front geometry.
- Locate the Abaqus/CAE plugin directory. It is probably called
abaqus_pluginsand on a Windows machine it is in the user home directory. - Download and unzip Policrack.
- Move the
policrackdirectory into the Abaqus/CAE plugin directory. - Start Abaqus.
- You can access Policrack through the menu
Plug-ins -> Policrack. If there is no such menu item consult the Abaqus/CAE documentation for the plugins directory and check the directory structure.
This is a short introduction, a more detailed resource of the model databases, meshing strategies and Policrack's inner workings can be found in the thesis: An automated method for the FE analysis of 3D cracks under mixed mode loading.
The analysis workflow with Policrack consists of five stages in the following sequence:
1. preprocessing -> 2. analysis -> 3. postprocessing -> 4.data storage -> 5.visualization
The preprocessing stage is the generation of a Policrack Model PM from a set of input parameters.
The parameters required to fully define a PM are called a set of input parameters.
The analysis stage is the submission of an Abaqus job, waiting for it to finish and proceeding with the next step of the workflow.
The postprocessing stage is the extraction of the History Output Requests values from an Abaqus output database. These are the Stress Intensity Factors (SIFs), J-Integral, etc. and the coordinates of the corresponding nodes of the crack front.
In the data storage step the results obtained in the postprocessing stage and the corresponding set of input parameters are saved as a record in a Policrack database.
In the visualization stage the analyst can browse the available Policrack databases, create 2D plots of the crack parameters and create a Policrack 3D visualization of the crack front and the calculated values associated with the crack.
Policrack is composed of four tools all accessible from the Plug-ins -> Policrack submenu:
- Database browser —
Browse Database... - Automated Batch —
Create a Batch... - Single Crack Model —
Create Crack Model... - Postprocessor —
Postprocess...
The Database Browser tool performs three tasks:
- Lists the available Policrack databases.
- Organizes the records of a selected database in a tree built from their input parameters.
- Creates 2D plots and 3D Policrack Visualizations.
When invoked, the Database Browser displays a list of the available Policrack databases and metadata about the selected database (Figure 1).
Figure 1. Select a Policrack database.
In the next step the Database Browser (Figure 2) displays a tree representation of the selected database and results options.
The the root of the tree is the analysis type (FEM/XFEM). Each tree branch is either a parameter name or value. Every parameter name branch is direct parent of its value branches. The leaves of the tree are the database record ids. Only ids are selectable. An id that cannot be selected signifies a failed simulation.
To create a 2D plot or a Policrack Visualization, select one or more database record ids from the tree, set the results options and click create.
Figure 2. Policrack Database Browser dialog.
The Automated Batch tool runs steps 1, 2, 3 and 4 of the Policrack Analysis Workflow in loop without intervention.
It determines input parameters for the standardized model from a batch config file and executes the loop. If more than one value is given per parameter, Policrack will loop over all possible combinations of input parameter values.
A batch config file specifies the required input parameters for a standardized model. A batch config file corresponds to a type of Policrack model. Samples of all types of batch config files located in the policrack/samples/batch_config directory.
The Automated Batch tool works in two steps:
- Asks for batch config file Figure 3.
- Displays the combinations of parameters to loop over Figure 4.
Figure 3. Select Batch Config File dialog.
Figure 4. Preview and Create dialog.
The Single Crack tool is a visual tool for defining all parameters for any Policrack standardized model and creating it, Figure 5.
It provides a visual description of the parameters in the batch config files.
Figure 5. Create Crack Model dialog.
The Postprocessor tool is used when a standardized model has been calculated and the results need to be extracted and stored in a Policrack database.
Saving results in a Policrack database with the Postprocessor tool is a two step procedure:
- Select an open output database for a standardized model and the corresponding
picklefile Figure 6. The concept is to couple the output database (i.e. results) with its set of input parameters. - Select a Policrack database from the list or create new one to store the data, Figure 7.
Figure 6. Select Output Database and Config File dialog.
Figure 7. Preview and Save Results to Database dialog.
The file is created with each Policrack Model and contains the set of input parameters for the PM. It is stored in the Abaqus working directory along the PM with the same name, but with .pickle extension.
Policrack Visualizations are created with the Database Browser from Policrack database records.
To view an overlay of K-factors and Crack Propagation Direction, Figure 8:
- Select
Plot -> Allow Multiple Plot States. - Select
Plot -> Symbols -> On Deformed Shape. - From
Result -> Field Outputselectcpd_vectas output variable andMagnitudeas invariant. - Select
Plot -> Contours -> On Deformed Shape. - From
Result -> Field OutputselectSIFs. - You may modify the color map for either the contours and symbols from the
Options -> ContoursandOptions -> Symbolsmenus.
Figure 8. Policrack Visualization.
Policrack databases are stored as subdirectories in the policrack\db directory.
The directory structure of a Policrack database is designed to be self-contained and accommodate additional information and analyses, pertaining to the database.
At the backend Policrack uses Python shelve.
When Policrack creates a new database, it creates a directory with a given name database_name in the policrack\db\ directory. Then copies the contents of policrack\templates\resultsRepo to the new policrack\db\database_name directory.
A database is created when necessary by the Automated Batch tool or on demand with the Postprocessor tool.
Policrack stores database data file in the policrack\db\database_name\resultsDb\ directory. The data file bears the name of the database database_name.
The policrack\db\database_name\scripts stores Python scripts and data required by the scripts. It contains the following scripts:
errors.py— used to create a database record for a failed simulation.verifyMergedNodes.py— used to check the integrity of FEM simulations results data.
The errors.py script provides a way to create a database record with certain input parameters signifying an invalid parameter configuration. The record is designated as a failed simulation.
The script reads the pickle files from the inputPickleFiles directory and creates a database record for each file.
The utility of the script comes when a certain configuration of input parameters results in invalid model or should be skipped by Policrack.
The script is handy when using the Automated Batch tool and Policrack tries to generate a model that crashes Abaqus repeatedly or for whatever reason a record with that particular configuration of input parameters cannot be stored in the Policrack database automatically.
Usage: Copy the input pickle file in the scripts\inputPickleFiles directory of the database and run the errors.py script.
The verifyMergedNodes.py script verifies the merging of inner cylinder nodes of FEM models by evaluating log files. The check can only verify whether equal number of nodes have been merged on both sides of the crack. If numbers do not match or there is no log information about a database record, the script can delete the record.
Log files are .txt files stored in the scripts\messages directory. To create a log file, manually copy the output from the Message Area of the Abaqus/CAE window to a text file.
Note: Database records created by the errors.py may not have matching log information and verifyMergedNodes.py will remove them. You may need to rerun the errors.py after verifyMergedNodes.py.
The database id — metadata is reserved for internal use. Each Policrack database has record with metadata id.
The record specifies crack type, load case string, and History Outputs for all records in the database.
It also provides description and database version.
Note: The metadata id is for internal use. Do not create a Policrack model called metadata.
Only use trusted sources, if you exchange Policrack databases or input pickle files.
NOTES:
- Abaqus is a commercial software from Dassault Sytemes.
- Policrack is not associated with Abaqus or Dassault Systemes.