MATLAB Answers

Bibigul
0

How to add tolerance in code for unsteady 2D problem?

Asked by Bibigul
on 11 Oct 2018 at 6:05
Latest activity Answered by Bibigul
on 14 Oct 2018 at 3:09

Hello, I am working on unsteady 2D coupled PDE. I have four equations need to solve simultaneously. I generate a code even working well. But for accuracy purpose, I need to add tolerance. I did it for 2D (steady case) but couldn't success for this problem. My problem have four unknowns C,T,U and V. 'i' for x-index, 'j' for y-index and 'k' for time level. I am calculating each unknown, say C, at a particular 'i' for all 'j' at '(k+1)th' time level.

I attached my code here. Can someone help me?

Thank you in advance.

Kind regards,

BibiGul

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by KSSV
on 11 Oct 2018 at 6:25
Edited by KSSV
on 11 Oct 2018 at 6:31

Take the required errors out from the function...run the function for different values of (nx,ny,nt) when you get satisfactory error, break the loop.

nx = 10:10:100 ; % take your desired values 
ny = nx ;
nt = nx ;
for i = 1:length(nx)
  err = thesisp3atitol2(nx(i),ny(i),nt(i)) ;
  if err<=tol
     [nx(i) ny(i) nt(i)]    % pick these values for less error
     break
  end
end

  2 Comments

@KSSV nx, ny and nt are the no of points in x,y direction and for time respectively. Unknown vector , say C, is a vector of size(ny-1,1) for each i. I am calculating C at (k+1)th time level. I am trying to insert while loop.

Yes I know that (nx,ny,nt) are number of points..okay you can replace the for loop with while loop very much.

Sign in to comment.


Answer by Bibigul
on 14 Oct 2018 at 3:09

@KSSV I already run the function for different values of (nx, ny, nt). Now I want to check the error for fixed domain.

  0 Comments

Sign in to comment.