Sunteți pe pagina 1din 4

It appears to me many have been struggling with various issues in cohesive zone modeling of interfacial fracture, despite the

fact that it has been well established theoretically and has been demonstrated many times in various forms. A common question (which we share) is with the use of the cohesive elements implemented in ABAQUS. Apparently, the standard implementation of the cohesive traction-separation laws in ABAQUS differs subtly from many other implementations in literature. Of course, ABAQUS has the flexibility for customized implementation through user subroutines, but many may not go that way. For some industrially oriernted applications, we have tried to use the standard cohesive elements in ABAQUS with limited success. Attached is a conference paper in which we share our understanding from this experience. There remain many unanswered questions (mostly numerical), and we welcome discussions and sharing of both sucessful and unsuccessful experience.

believe there are many who can answer your questions. I will start with my understanding (mostly theoretical and limited). Hopefully others can chip in to offer more wisdom.

1) Can I model the adhesive interface using cohesive elements? Theoretically, yes.

2) I use a cohesive interaction between my two parts in Abaqus 6.9.1. Since this is a zero thickness cohesive element, I use a large elastic modulus value (about 10x) for my cohesive elements. Does this look reasonable? To define the constitutive behavior of the cohesive element, you need at least 5 parameters as described in the attached paper. Among them, the initial elastic stiffness (K) is a mysterious one. Little attention has been paid to its effect, perhaps partly because it lacks a fundamentally physical intepretation (unlike the strength and toughness). Past literature has suggested using a large value for the stiffness (as large as you want), most likely for numerical purposes. In addition, the K-values for the opening mode and shearing modes are often taken to be identical, which seems to be unphysical but simplifies the analysis of mixed-mode cracks.

3) Can I model both Mode-I and Mode-II interactions (two different cohesive laws) using cohesive elements in Abaqus and if so, how can I do it with Abaqus? In ABAQUS, you can define the strength and toughness for mode-I (opening) and mode-II (shearing) independently, thus four more parameters. The interaction between mode-I and mode-II is govened by the criteria you choose for damage iniation and for damage evolution until final failure. There are several options for these criteria in ABAQUS. In the attached paper, we derived the mixed-mode strength and toughness based on one of the options.

For bonded joints, one usually uses : kn = (E/d), for normal stiffness ks = (G/d), for secant stiffness [E Young's Modulus, G = E/(2 (1 + nu) shear modulus, d thickness, of the adhesive] This corresponds to uniform deformation in the thickness of the adhesive layers. If you want to take into account nearly incompressible material, you can use: kn = (E.(1+nu))/(d.(1-nu)(1-2nu)), for normal stifness his is a tricky question. ABAQUS allows one to use zero-thickness cohesive elements but asks for an artificial thickness to calculate the stiffness (K = Eh). On the other hand, I have seen others using finite-thickness cohesive elements, where the thickness and stiffness can be better defined physically. Theoretically I like to consider an interface as a zero-thickness layer with the constitutive behavior defined by the traction-separation relations. If a finite-thickness adhesive is present, the adhesive can be modelled as a solid layer of finite thickness along with its own mechanical properties (elastic or not). Practically, if the thickness of adhesive is small compared to the other dimensions of the model (e.g., beam thickness in a sandwich specimen), I think the zero-thickness interface model could be a good approximation.

% truss - this program uses a matrix method to solve for the forces in % the members of a statically determinate truss. It also % computes the reaction forces. % % The program is started by typing % % truss('input_data_file.txt') % % at the MATLAB prompt. In this case the input data file is % named input_data_file.txt Any file name can be used. The % file is a common text file and can be created with NOTEPAD % % Written by: Robert Greenlee clc clear all function truss(file_name); % OPEN DATA FILE fid = fopen(file_name, 'r'); % READ DATA - READ NODE DATA - First read the number of nodes in the truss Number_nodes=fscanf(fid, '%d', 1); % Read the coordinates for each node for i=1:Number_nodes Node=fscanf(fid, '%d', 1); Coordinate(Node, 1)=fscanf(fid, '%g', 1); Coordinate(Node, 2)=fscanf(fid, '%g', 1); end % READ DATA - READ ELEMENT DATA - Now read the number of elements and the % element definition Number_elements=fscanf(fid, '%d', 1); M=zeros(2*Number_nodes, 2*Number_nodes); for i=1:Number_elements Element=fscanf(fid, '%d', 1); Node_from=fscanf(fid, '%d', 1); Node_to=fscanf(fid, '%d', 1); dx=Coordinate(Node_to,1)-Coordinate(Node_from,1); dy=Coordinate(Node_to,2)-Coordinate(Node_from,2); Length=sqrt(dx^2 + dy^2); M(2*Node_from-1,Element) = dx/Length; M(2*Node_to-1, Element) = -dx/Length; M(2*Node_from, Element) = dy/Length; M(2*Node_to, Element) = -dy/Length; end % READ DATA - READ REACTION DATA - Now read in the reactions Number_reactions = fscanf(fid, '%d', 1); if (2*Number_nodes ~= (Number_elements + Number_reactions)) error('Invalid number of nodes, elements, and reactions'); end for i=1:Number_reactions; Reaction = fscanf(fid, '%d', 1); Node=fscanf(fid, '%d', 1); Direction = fscanf(fid,'%s', 1); if ((Direction == 'y') || (Direction == 'Y')) M(2*Node, Number_elements+Reaction)=M(2*Node, Number_elements+Reaction)+1;

elseif ((Direction == 'x')||(Direction == 'X')) M(2*Node-1, Number_elements+Reaction)=M(2*Node-1, Number_elements+Reaction)+1; else error('Invalid direction for reaction') end end % READ DATA - READ EXTERNAL FORCE DATA - Now read in the external forces External=zeros(2*Number_nodes,1); Number_forces=fscanf(fid, '%d', 1); for i=1:Number_forces Node =fscanf(fid, '%d', 1); Force=fscanf(fid, '%g', 1); Direction = fscanf(fid, '%g', 1); External(2*Node-1)=External(2*Node-1)-Force*cos(Direction*(pi/180)); External(2*Node) =External(2*Node) -Force*sin(Direction*(pi/180)); end External % COMPUTE FORCES - Solve the system of equations A=M\External; % REPORT FORCES - FORCES IN THE ELEMENTS for i = 1:Number_elements fprintf('Element %d = %g \n', i, A(i)) end % REPORT FORCES - REACTION FORCES for i = 1:Number_reactions fprintf('Reaction %d = %g \n', i, A(Number_elements + i)) end end % End of program

S-ar putea să vă placă și