Convert microstructure information generated by Dream3d (opensource software which can be used to synthetically build different microstructure which can be found here) to construct an Abaqus input file containing periodic boundary conditions.
The generated microstructure features and orientations are assigned to element sets in Abaqus with the corresponding material definition assigned via sections.
NOTE: New matlab file added which uses the ABAQUS filter in Dream3d. I would advise using this version instead to generate the material files. Please see the note at the bottom of the README.
The minimum filter construction required is as follows:
Centroid information will be stored in the csv file (created using the Export Feature Data as CSV File filter), while node/element/orientation information is stored in the .vox file (created using the Export Los Alamos FFT File filter).
To use the Matlab function, the xlsx file included here should be updated with the material parameters in the sheet (with the corresponding name) in the order provided in the pdf found here.
The location of the centroid of each grain can be extracted from the generated csv file. These values should be transferred to the centroid sheet in the xlsx file (inputfile_info)
Simply copy files in the folder titled Dream3d2Abaqus into the MATLAB file path.
Run from the command prompt the following: dream2abq('nameofvoxfile.vox','nameofinputfile.inp') where:
- nameofvoxfile = name of the vox file included in the same directly and which is exported using the Export Los Alamos FFT File filter
- nameofinpfule = is the name of the Abaqus input file you would like to create
The loads should be applied ot the reference nodes (refnodeD, refnodeS, refnodeS2) in the following way:
To apply axial loading:
- x-direction: refnodeD(load,0,0), refnodeS(0,0,0), refnodeS2(0,0,0)
- y-direction: refnodeD(0,load,0), refnodeS(0,0,0), refnodeS2(0,0,0)
- z-direction: refnodeD(0,0,load), refnodeS(0,0,0), refnodeS2(0,0,0)
To apply shear loading:
- xy: refnodeD(0,0,0), refnodeS(0,0,0), refnodeS2(0,load,0)
- xz: refnodeD(0,load,0), refnodeS(0,0,0), refnodeS2(0,0,load)
- yz: refnodeD(0,0,load), refnodeS(0,0,load), refnodeS2(0,0,0)
The Dream3d file (dream2abqN.m) which generates the data required by the function is included in the folder ABQfilter. It will generate the input files and an additional file csv file which contains the euler angles for each grain. These files should be included in your Matlab folder when running the function.
For the naming convention, you'll notice in the Dream3D filters testcase__ is used. Please ensure whatever name you use instead of testcase includes the double underscore after it.
To run the the function, use the following convention:
dream2abqN('testcase__'), where testcase can be replaced with whatever name you are using.
The output of the function will be a ABAQUS input file fname__.inp which you can than import into ABAQUS.