Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Help]Wrong result when computing with RapidCFD #88

Open
MelodyLiu666 opened this issue Aug 30, 2021 · 1 comment
Open

[Help]Wrong result when computing with RapidCFD #88

MelodyLiu666 opened this issue Aug 30, 2021 · 1 comment

Comments

@MelodyLiu666
Copy link

I have run pimpleFoam on CPUs with
"(U|k|epsilon)"
{
solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-05;
relTol 0.1;
}

When I run the code with RapidCFD, it reminds me to change the smoother as GaussSeidel since the matrix is asym.

However the result are totally different as following:
CPU
smoothSolver: Solving for Ux, Initial residual = 0.316513, Final residual = 2.87543e-07, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 0.480785, Final residual = 4.75429e-07, No Iterations 2
smoothSolver: Solving for Uz, Initial residual = 0.849538, Final residual = 5.27387e-07, No Iterations 2
GAMG: Solving for p, Initial residual = 0.0028573, Final residual = 1.81711e-05, No Iterations 2
time step continuity errors : sum local = 7.35031e-07, global = 5.85201e-08, cumulative = -1.11098e-05
GAMG: Solving for p, Initial residual = 4.6792e-05, Final residual = 7.63919e-07, No Iterations 4
time step continuity errors : sum local = 3.09141e-08, global = 2.34027e-08, cumulative = -1.10864e-05
smoothSolver: Solving for epsilon, Initial residual = 0.479078, Final residual = 5.87837e-10, No Iterations 2
smoothSolver: Solving for k, Initial residual = 0.582144, Final residual = 3.71753e-07, No Iterations 2
ExecutionTime = 0.27 s ClockTime = 0 s

GPU

smoothSolver: Solving for Ux, Initial residual = 0.316753, Final residual = 8.86728e-06, No Iterations 6
smoothSolver: Solving for Uy, Initial residual = 0.480776, Final residual = 3.13897e-05, No Iterations 1000
smoothSolver: Solving for Uz, Initial residual = 0.780915, Final residual = 1.88078e-05, No Iterations 1000
GAMG: Solving for p, Initial residual = 0.0028466, Final residual = 1.8485e-05, No Iterations 5
time step continuity errors : sum local = 7.48653e-07, global = 8.20054e-08, cumulative = -7.96552e-06
GAMG: Solving for p, Initial residual = 4.64224e-05, Final residual = 6.99915e-07, No Iterations 7
time step continuity errors : sum local = 2.8358e-08, global = -1.44012e-09, cumulative = -7.96696e-06
smoothSolver: Solving for epsilon, Initial residual = 0.477519, Final residual = 6.45873e-06, No Iterations 6
smoothSolver: Solving for k, Initial residual = 0.582281, Final residual = 0.00012118, No Iterations 1000
ExecutionTime = 1.1 s ClockTime = 2 s

Besides, I believe that I have obtained the right results a few month ago. I don't know why it dose not work anymore.

OS ubuntu 16.04 cuda 8.0/10.0 of231

@TonkomoLLC
Copy link
Contributor

Hello,

I don't think I got exactly the same residual profile from CPU and GPU in the past; however, I generally got the same final answer for both the CPU (OF 2.3.x) and GPU (RapidCFD). To that end, how do the CPU and GPU results (e.g., U, p and other quantities) at a the same physical X,Y,Z location at the same time step?

You noted that you got the "right" results a few months ago. Unless you recently updated your RapidCFD installation from a very >> 1 year old commit of RapidCFD, the codebase hasn't changed in over one year.

A common issue that arises is that it is necessary to compile RapidCFD with the correct wmake rules for the architecture of your GPU, and your GPU needs to be compatible with the version of CUDA that you are using. This was most recently discussed in issue #86.

I wish you well with your RapidCFD work.

Best regards,
Eric

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants