Вы находитесь на странице: 1из 18

ABAQUS Tutorial

Wave Propagation in plates using ABAQUS

Authors: Abilasha T K, Sreedhar P

Contents

 1 Objective 2 2 Tools Required 2 3 Problem Deﬁnition 2 3.1 Model and loading conditions . . . . . . . . . . . . . . . . . . . . 2 3.2 Material Properties . . . . . . . . . . . . . . . . . . . . . . . . 3 4 Procedure 3 4.1 Starting with ABAQUS . . . . . . . . . . . . . . . . . . . . . . . 3 4.2 Creating Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.3 Deﬁning Material and section properties . . . . . . . . . . . . . . 6 4.4 Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Meshing 4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.6 Creating a Node set for source . . . . . . . . . . . . . . . . . . . 9 4.7 Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.8 Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.9 Job Creation and Submission . . . . . . . . . . . . . . . . . . . . 13 5 Appendix 15 5.1 Calculating the element size . . . . . . . . . . . . . . . . . . . 15 5.2 Calculating Step time . . . . . . . . . . . . . . . . . . . . . . . . 15 5.3 Creating Amplitude ﬁle . . . . . . . . . . . . . . . . . . . . . . . 16 6 Suggested further reading 17 1

ABAQUS Tutorial - Wave Propagation

1 Objective

To generate an ultrasonic wave propagation in an aluminium plate (2D Plain strain).

2 Tools Required

ABAQUS version on 6.10 (FE package), MATLAB (scientiﬁc computation pack- age), Text pad/Notepad, MS Excel

3 Problem Deﬁnition

The bulk of a homogenous isotropic and elastic 1m × 1m plate is excited by the application of a point force vibrating in a single direction, as shown in Figure 3.1. The input time pulse is a 5-cycle Hanning windowed toneburst with a centre-frequency of 100 kHz.

Figure 1: Problem Deﬁnition

2

3.2 Material Properties

4

Material : Aluminum

Density (ρ) : 2700kg/m 3

Young’s Modulus (E)

Poisson’s Ratio (ν) : 0.33

:

70 × 10 9 N/m 2

Procedure

4.1 Starting with ABAQUS

1. Open ABAQUS CAE from Start menu.

2. Click Create Model Database to start a new work.

3. Go to File Set Work Directory and select the folder where you want to save all the data ﬁles.

Figure 2: Starting Page

4.2 Creating Part

Part is the geometry of the model that we are going to study. To create a part follows the steps below.

3

Figure 3: Create Part

1. Select Part module. Click on the Create Part. A Create Part window will pop up.

2. Fill the details of part like Modeling space (2D), Type (Deformable), Base Feature (Shell) and approximate size (2) depending on the size of the part being modeled.

Note:Abaqus does not follow any ﬁxed units so it is advisable to use same unit throughout the job.

3. Click Continue.

4. Draw the part in the drawing space. This can be done by entering the coordinates of two opposite corners of the square in the present case.

5. Select Rectangle tool. Enter -0.5,-0.5 and 0.5, 0.5.

6. Click Done once the drawing is completed. Go to File Save to save the Model Database. Save the database regularly.

4

Figure 4: Sketch

Figure 5: Model

5

4.3 Deﬁning Material and section properties

1. Go to Property module. Click on Create Material. An Edit Material window will pop up.

2. Enter necessary informations about the material. Assign a name (say Aluminum) Brief description if needed.

3. To enter Density value click General-Density. Enter density value in the Mass Density box.

4. Similarly, Enter Youngs Modulus and Poissons Ratio in Mechanical Elasticity Elastic. After entering all these informations click OK.

5. Click Create Section. Enter section name, Category (Solid) and type of section (Homogenous).Click Continue.

6. An Edit section Window pops up. Click OK.

7. Click Assign Section. Select the entire region. Click Done. Edit Section Assignment window pops up. Click OK.

Figure 6: Material Properties

6

Figure 7: Create Section

Figure 8: Assign Section

4.4

Assembly

Click Instance Part. A Create Instance window pops up. Select the re- quired part (Part-1)then select Independent in mesh type and click OK. We can ignore the modules like Step, Interaction and Load since we need to mesh the model before we can input many of the parameters.

7

Figure 9: Create Instance for assembly

4.5

Meshing

1. Go to Mesh module.

2. Click Seed Part Instance. A Global Seeds window will pop up. Enter the Approximate global size based on the wavelength of excitation. It is recommended to choose a resolution of /8 to /20. Enter 0.002 in this case. Click OK. Once the seeding deﬁnition is complete, click Done.

3. Click Assign Mesh Control in mesh module itself. A Mesh Control window pops up. Select Quad for element shape and Structured in technique (in case you need an uniform mesh layout). Click OK.

4. Click Assign Element Type in mesh module. In Element type win- dow, select Explicit in Element library, and select the Plane Strain under Family and linear under geometric order. In this window you should see below CPER4: a 4-node bilinear plane strain quadrilateral, reduced integration, hourglass control. Click OK.

5. Click Mesh Part Instance and click YES to mesh the part instance.

8

Figure 10: Meshing Procedure

4.6 Creating a Node set for source

We are giving the excitation at the centre of the plate. For this we have to locate the corresponding node for excitation.

1. In Mesh module, Click Tools Query. Select Point/Node in the pop up window. Now locate the node which is located at or very near to the origin. (The Coordinates of the node selected will be shown at the bottom of the window.)

2. Click Tools Set Create. In the Create Set window, give a name to the node (say Generator) and select Node in Type. Click Continue. Now select the node we had located for excitation. Click Done.

9

4.7

Step

Figure 11: Creating Nodeset

Now we have to create a step specifying the analysis conditions. For this

1. Go to Step module. Click on Create Step. a Create Step window will pop-up.

2. In the Create Step window, enter a suitable name for the step. then select Procedure type as Dynamic,Explicit under the General category. An Edit Step window will pop-up.

3. In the Basic tab, Type a suitable description and below that enter the Time Period as required(250µs in this case). NOTE: Time Period is the total time for which you want to do the analysis/run the current step for. It is chosen according to the size of the domain

4. In the Incrementation tab, select Type as Fixed, Increment size se- lection as User Deﬁned Time Increment and enter the required time increment in the corresponding box (1e-8 in this case).

10

NOTE:While choosing time period, one should be careful so as to not select a value too high or too low. A high value will lead to instability in analysis and a very low value will be waste of computational resources. See Appendix for optimum time period calculation

Figure 12: Create Step

4.8

Now we need to apply the excitation. This can be done either by giving a force at speciﬁc nodes/edges or by specifying a displacement boundary condition to the same nodes/excitation region. Here, We will see how to give excitation as a force. Before we specify the loading parameters, we need to create an amplitude data to deﬁne the varying part of the excitation pulse.

11

Figure 13: Create Amplitude

1. Go to Load module. Go to Tools Amplitude Create.A Create Am- plitude window will pop-up. Here selected tabular, Continue. In the Edit Amplitude window that opens up, enter the time-amplitude data generated for this purpose (See Appendix on how to generate these values). Click OK.

2. Now click on Create Load button. A Create Load window will pop-up. Here, give a suitable name for the load,select the step in which the force has to be applied and select Concentrated Force as the type. Click Continue.

3. Now you will be prompted to select the region for excitation. Since we have already selected the nodeset to be excited, we can specify the nodeset here. Click on the Sets button at the bottom left of the viewport. A Region selection window will pop-up listing all the sets that have been already deﬁned. Select Generator nodeset from the list and click OK. In the Edit Load window that pops-up, Enter the load values in CF1 and CF2 (i.e., F x andF y ). Enter 1 in this case.

4. Select the Amplitude that has already been created from the drop down menu in Amplitude option. Click OK.

12

4.9 Job Creation and Submission

1. Go to Job module. Click Create Job. Enter a name (say, wavepropaga- tion). Note that there should be no space or special characters in the job name. Click Continue.An Edit Job window pops out.

2. In the Edit Job window, enter description if needed, In Submission tab, click Full Analysis for job type. In Memory tab, Give a value for Maximum Processor and analysis Memory according to your system conﬁguration (RAM). The process can also be parallelised in case the processor in your system is multi-core. This can be done by selecting Use multiple processor option in Parallelization tab and specifying the number of cores in the box next to it. Click OK.

3. Click on Job Manager. In the Job Manager window that pops up, select the job created and click Submit. The analysis will begin.

(NOTE : In system running with Windows OS,the Multiprocess- ing mode in Parallelization tab is to be set as Default while in Linux systems, this should be set to Threads.)

4. The progress of analysis can be monitored by clicking on Monitor. The window that opens will show up the progress and also any warnings or errors encountered during the analysis.

13

Figure 15: Create Job

14

5

Appendix

5.1 Calculating the element size

While doing an FE Analysis, choosing the right element size is critical. In wave propagation models, the element size is decided on the basis of wavelength(λ). According to literature the optimum element size e is ﬁxed according to the following criteria

(1)

If the frequency of excitation is f and the velocity of the slowest wave is c, then the smallest wavelength in the model is

λ/8 < e < λ/20

(2)

The purpose of doing this is to make the element small enough to accommodate even the wave with the smallest wavelength. For eg: If we are exciting an alu- minum plate with a 100 kHz excitation, we have c=3100 m/s. Therefore

λ

= c/f ;

λ = c/f

(3)

= 0.031m (31mm).

So the optimum element size for this case is

3.875mm < e < 1.55mm.

NOTE: Even though the criteria says that the recommended maxi- mum value of element size is λ/20, this simply means that any value beyond this will not produce any better result. Though it is not ad- visable to use element size more than λ/8, using a size of less than λ/20 will not aﬀect the solution adversely except in terms of computational time. In some cases, we may have to use an element size smaller than the prescribed value to get better sampling,for more points to plot a smoother curve etc.

5.2 Calculating Step time

Step time chosen for the analysis is also critical. For stability of explicit FE of wave propagation problems, the step time is calculated as

t = ∆x/C max

(4)

Where ∆x is the smallest dimension of the smallest ﬁnite element of the model and C m ax is the velocity of the wave that travels fastest through the material . This limit represents the time of travel of a longitudinal wave across the element.

15

5.3 Creating Amplitude ﬁle

For the excitation Force/Displacement, we require a Amplitude vs Time table. This can be generated by any method. Here I am giving a sample Matlab code which will generate Hann windowed toneburst pulse for a speciﬁed frequency and and cycles [Courtesy : Gopal Gantala and Dr. Prabhu Rajagopal].

Matlab code for generating Amplitude ﬁle

function

clear

clc;

%-----------------------------------------------------------------------

% This

%-----------------------------------------------------------------------

% -------------------------Input

windowed

toneBurst_saveastxt

all;

code

generates

a

Hanning

toneburst

input

pulse

parameters-----------------------------

%-----------------------------------------------------------------------

 signal_freq = input(’centre-frequency of the signal in Hz\n’); num_cycles = input(’\n number of cycles\n’); delt = input(’\n Time increment\n’); %Step Time total_time = input(’\n total signal duration in s\n ’); offset_time = input(’\n Offset time-actual starting time for signal\n’);

%-----------------------------------------------------------------------

% -------------------------Pre-calculations-----------------------------

%-----------------------------------------------------------------------

signal_offset

hanning_duration

=

round(offset_time/delt);

=

1/signal_freq*num_cycles;

 hanning_width = round(hanning_duration/delt); signal_length = round(total_time/delt);

if

signal_length

<

signal_length

=

signal_offset+hanning_width

signal_offset+hanning_width;

end

%-----------------------------------------------------------------------

% -------------------------Main

%-----------------------------------------------------------------------

calculation-----------------------------

hanning_window

%%

continuous_cosine=cos(2*pi*signal_freq*(0:length(hanning_window)-1)*delt);

time_vector=0:delt:delt*signal_length;

output_signal

output_signal(signal_offset+1:signal_offset+round(hanning_duration/delt))

=

%-----------------------------------------------------------------------

result-------------------------

%-----------------------------------------------------------------------

figure;

% ----------------------Visualization

=hann(round(hanning_duration/delt));

=

Matlab

function

’hann’

uses

the

in-built

zeros(1,length(time_vector));

of

hanning_window.*continuous_cosine’;

plot(time_vector,required_output_signal)

16

%-----------------------------------------------------------------------

%--------

%-----------------------------------------------------------------------

filename=char([’TB_’,num2str(num_cycles),’cycles_’,num2str(signal_freq/1000)

Saving

the

amplitude

values

in

the

form

of

a

csv

file---------

,’kHz.csv’]);

t =

fid

%

c1=1;

while

time_vector;

=

c2

rs

=

required_output_signal;

count

variables

fopen(filename,’w’);

and

are

temporary

c1<length(t)-3

c1

fprintf(fid,’%12.11f,%12.11f,%12.11f,%12.11f,%12.11f,%12.11f,

%12.11f,%12.11f\n’,t(c1),rs(c1),t(c1+1),rs(c1+1),t(c1+2)

,rs(c1+2),t(c1+3),rs(c1+3));

c1=c1+4;

 end for c2=c1:length(t)

fprintf(fid,’%12.11f,%12.11f’,

 if c2 < length(t) fprintf(fid, ’,’); end

t(c2),rs(c2));

end

dlmwrite(filename,fullsignal);

fclose(fid);

%----------------------------------------------------------------------------