evaluation a drag over a pre-designed model of a car using CFD
clear all
close all
clc
%solving the function f(x) = exp(x)*cos(x)
x=1;
dx=1/100;
%4th order approximations of the second order derivative
%analytical_solution
sol = -2*exp(x)*sin(x);
%Central difference
Central_difference = ((-exp(x+2*dx)*cos(x+2*dx))+(16*exp(x+dx)*cos(x+dx))-(30*exp(x)*cos(x))+(16*exp(x-dx)*cos(x-dx))-(exp(x-2*dx)*cos(x-2*dx)))/(12*dx^2);
%Skewed right sided difference
s_r_s_d = ((11/12)*(exp(x-dx)*cos(x-dx))-(5/3)*(exp(x)*cos(x))+(1/2)*(exp(x+dx)*cos(x+dx))+(1/3)*(exp(x+2*dx)*cos(x+2*dx))-(1/12)*(exp(x+3*dx)*cos(x+3*dx)))/(dx^2);
%Skewed left sided difference
s_l_s_d = ((11/12)*(exp(x+dx)*cos(x+dx))-(5/3)*(exp(x)*cos(x))+(1/2)*(exp(x-dx)*cos(x-dx))+(1/3)*(exp(x-2*dx)*cos(x-2*dx))-(1/12)*(exp(x-3*dx)*cos(x-3*dx)))/(dx^2);
%forward differnece
fds = ((15/4)*(exp(x)*cos(x))-(77/6)*(exp(x+dx)*cos(x+dx))+(107/6)*(exp(x+2*dx)*cos(x+2*dx))-(13)*(exp(x+3*dx)*cos(x+3*dx))+(61/12)*(exp(x+4*dx)*cos(x+4*dx))-(5/6)*exp(x+5*dx)*cos(x+5*dx))/(dx^2);
%backward differnce
bds = ((15/4)*(exp(x)*cos(x))-(77/6)*(exp(x-dx)*cos(x-dx))+(107/6)*(exp(x-2*dx)*cos(x-2*dx))-(13)*(exp(x-3*dx)*cos(x-3*dx))+(61/12)*(exp(x-4*dx)*cos(x-4*dx))-(5/6)*exp(x-5*dx)*cos(x-5*dx))/(dx^2);
%error
error1 = abs(sol-Central_difference);
error2 = abs(sol-s_r_s_d);
error3 = abs(sol-s_l_s_d);
error4 = abs(sol-fds);
error5 = abs(sol-bds);
B = [error1 error2 error3 error4 error5];
bar(B)
set(gca,\'xticklabel\',{\'central difference\',\'skewed right side\',\'skewed left side\',\'FDS\',\'BDS\'});
ylabel(\'Error\');
- skewed method is more useful because it takes the values from both behind and forward and its errors are in a moderate range which is acceptable.
- the errors of FDS and BDS are more compared to the skewed method at very small values of dx https://docs.google.com/document/d/1goTYDQbht69XukRTfSgvXT0ue8PJeLjNhtjmmbkJQ6E/edit?usp=sharing
The plot figure is given in the above link