Difference between revisions of "Extraction of Material Properties using Voxel Meshing and Abaqus"

From TexGen
Jump to navigationJump to search
Line 14: Line 14:
 
Where there are thin yarns, eg binder yarns in a 3D weave, care should be taken to ensure that the voxels are small enough to model the continuous yarn with no gaps.
 
Where there are thin yarns, eg binder yarns in a 3D weave, care should be taken to ensure that the voxels are small enough to model the continuous yarn with no gaps.
  
[[file:AbaqusVoxelDialog1.PNG|right]]
+
[[file:AbaqusVoxelDialog.png|300px|right]]
 
 
  
  

Revision as of 15:35, 29 April 2021

This method creates an Abaqus input file by producing a mesh of regularly shaped hexahedral voxel elements for a textile produced by TexGen. Periodic boundary condition equations are generated based on the paper "Unit cells for micromechanical analyses of particle-refined composites", Shuguang Li, Anchana Wongsto, Mechanics of Materials 36(2004) 543-572. After the Abaqus simulation has been run the material properties are extracted by running a script, provided in the TexGen download, which interrogates the Abaqus .odb file. The procedure is described in the following sections.

Create Textile

  • Create a textile either via the GUI or by running a script.
  • Assign properties to the matrix and yarns using either
Modeller -> Assign Matrix Properties... and Modeller -> Assign Yarn Properties... options

or

From a script using the CTextile SetMatrixYoungsModulus(), SetMatrixPoissonsRatio() and SetMatrixAlpha() functions and the CYarn SetYoungsModulusX(), SetYoungsModulusY(), SetYoungsModulusZ(), SetShearModulusXY(), SetShearModulusXZ(), SetShearModulusYZ(), SetPoissonsRatioX(), SetPoissonsRatioY(), SetPoissonsRatioZ, SetAlphaX(), SetAlphaY() and SetAlphaZ() functions.
  • Ensure that the textile has a domain specified. If created using one of the wizards then a default domain will have been assigned. Otherwise create an appropriate domain the size of the textile unit cell as described in the domain user guide

Create Abaqus Voxel File

The Abaqus files for the voxel mesh can be created either in the TexGen GUI or in a script. In both cases the number of voxels in the x,y and z directions must be specified and also the element type, boundary conditions and whether just yarn, matrix or both are being exported. Three files are generated: a .inp file containing the nodes, elements, boundary conditions, load cases and material definitions, a .eld file containing the element data (yarn index, location, volume fraction and distance from surface of yarn) and a .ori file containing the yarn orientation vectors. The yarn data for the elements is calculated at the centre point of each element. The element is assigned to either the appropriate yarn or matrix based on this centre point. It may be necessary to perform a sensitivity study in order to assess the best number of voxels for the particular simulation. Where there are thin yarns, eg binder yarns in a 3D weave, care should be taken to ensure that the voxels are small enough to model the continuous yarn with no gaps.

AbaqusVoxelDialog.png


  • ABAQUS Voxel File using the GUI
Select File -> Export -> ABAQUS File -> ABAQUS Voxel File
The Abaqus Voxel Options dialog will be displayed
Select the number of voxels required in x,y and z directions
Select whether to output yarns, matrix or both
Element Type: Select either C3D8R or C3D8
Periodic Boundary Conditions
All Tied: Assumes a material continuum where the RVE is considered to be infinitely small compared to the size of the engineering part.
Z untied: Gives a 2.5D simulation, assuming a one layer RVE solving in the x and y directions


  • ABAQUS Voxel File using a script
# Create a voxel mesh object and then save the mesh
Vox = CVoxelMesh()
# SaveVoxelMesh Parameters: Textile name, Filename, Number X voxels, Number Y voxels, Number Z voxels...
# Output matrix (true/false), Output yarns (true/false), Boundaries untied (true - z untied, false - all tied)...
# Element type ( 0 - C3D8R, 1 - C3D8 )
Vox.SaveVoxelMesh( "TextileName", "Filename", NumXVoxels, NumYVoxels, NumZVoxels, true, true, false, 0 )

Run Abaqus Simulation

The Abaqus simulation must be run from the Abaqus Command Line. The .inp will not load into Abaqus CAE as it uses uses equations in the boundary conditions which match multiple node sets together. The orientation file will also only be read in correctly when run from the command line.

  • Copy the .inp, .ori and .eld into the Abaqus working folder
  • Start Abaqus Command
  • Type abaqus job=Filename (Filename without an extension)

The job should run and produce a number of files including a .odb file. If there were problems running the job then the .dat file should give some indication of the cause.

Extract Material Properties from ODB File

When TexGen is downloaded three files, dataHandling.py, dataHandlingInPlane.py and effectiveMatPropRVE.py, will be placed in the TexGen/Python/libxtra/TexGen folder. These should be copied into the Abaqus working folder. The material properties are then extracted as follows:

  • Open the file effectiveMatPropRVE.py in an editor
  • Edit the line "modelName = .." so that it has the correct file name
  • Set the thermo-mechanical switch as required by editing the line TM=
  • Set the SingleLayerRVE switch as required by editing the line SingleLayerRVE=
  • Start Abaqus CAE
  • Open the .odb file created by the simulation
  • Select File -> Run Script..
    • Select effectiveMatPropRVE.py
    • A dialog will be displayed showing the material properties calculated. The results will also be saved to a .rpt file.