Wiki

Clone wiki

mofem-joseph / Stress wave propagation in prismatic bar

Simulation of wave propagation in 1D elastic bar

Problem description

A prismatic bar with uniform cross section is fixed at one end and loaded at free end with a suddenly applied constant force of 100 N where the resultant compressive stress wave propagates along the length of the bar. Determine the stress history at both ends and the displacement history at the free end.

prismatic bar loading history

Figure 1 prismatic bar and the load history

###Geometry### Length L =100 m Cross-sectional area = 1 m2

Material properties

Young’s modulus E = 1000 N/m2 Poisson’s ratio v =0
Density = 0.1 kg/m3

Loading

force F =100 N/m2

Analysis files

prismatic_bar.cub time_data.txt

Analytical solution

Since the applied force is constant over time, the stress at the free end can be calculated as
σ=F/A=100/1=100 N⁄m^2
A compressive stress wave is generated due to suddenly applied force where its velocity is calculated by
c=√(E/ρ)=√(1000/0.1)=100 m⁄sec
thus it requires 1 sec for the stress wave to reach to the fixed end.
The stress at the fixed end is zero before the stress wave arrives and as soon as the wave reaches this end, it reflects and produces a stress equal to 2σ at the fixed end. This stress remains unchanged until the wave front return to this point. The reflected compressive stress wave leaves the fixed end and upon reaching the free end it reflects back but as a tensile stress wave which ,again, reaches the fixed end and then reflects back where the stress at the fixed point become zero. This zero stress state remains unchanged for another complete cycle of stress wave motion.
The displacement time history at the free end can be expressed as
u(t)=∫_0^L▒〖(σ(x,t))/E dx
Which also can be expressed for each time interval as
u(t)=-FL/AE t for 0 ≤ t ≤ 2
u(t)=u(t=2)-FL/AE(t-2) for 2 < t ≤ 4

Analysis procedure

To run the analysis in cephas, change directory to elasticity in user_modules directory, copy the cubit file (prismatic_bar.cub) and time data file (time_data.txt) and use the following command line

mpirun -np 2 ./dynamics -my_file prismatic_bar.cub -ksp_type fgmres -ksp_gmres_restart 1000 -pc_type asm -sub_pc_type lu -ksp_atol 1e-10 -ksp_rtol 1e-10 -snes_monitor -snes_type newtonls -snes_linesearch_type basic -snes_max_it 100 -snes_atol 1e-8 -snes_rtol 1e-8 -ts_monitor -ts_type alpha -ts_dt 0.1 -ts_final_time 4 -my_disp_order 2 -my_vel_order 2 -my_time_data_file time_data.txt -my_output_prt 1 |tee log  

The total time of analysis is (4 sec) and the time increment is (0.1 sec) which is 1/10 of the required time for the wave to travel from the free end to the fixed end. You can specify how frequently (per time step) to print output files by set (-my_output_prt 1) where the current command prints output file for every time step.

Results

wave_propagation

The stress history for free and fixed ends
Stress history at free end
Stress history at fixed end

The analytical solution and numerical calculation of displacement history at the free end

Displacement history at free end

Updated