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

Variable Rotational Relaxation #2

Closed
kjhigdon opened this issue Aug 14, 2018 · 4 comments · Fixed by #268
Closed

Variable Rotational Relaxation #2

kjhigdon opened this issue Aug 14, 2018 · 4 comments · Fixed by #268
Labels
bug Something isn't working physics issue Related to physics

Comments

@kjhigdon
Copy link

Summary

Current variable rotational relaxation approach does not reproduce the expected relaxation rate.

Type of Issue

Physics Bug

Detailed Description

The current version of the rotational relaxation model does not correctly reproduce the expected relaxation rate and will not reach equilibrium. In the current model, the energy of the colliding particles is used in Parker's model to calculate Z_rot, rotphi in the code. Using Ec to calculate Z_rot requires a correction factor that Boyd developed in the past. This is quickly summarized in Boyd and Schwartzentruber, Nonequilibrium Gas Dynamics and Molecular Simulation, pp. 254-5.

I typically prefer using the cell temperature approach where Tr is replaced with the cell temperature. I suggest using the cell translational temperature instead of calculating a composite cell temperature. This is also the approach taken by Boyd and Schwartzentruber, pp. 253-4.

The vibrational relaxation number, Z_vib or vibphi in the code, may also suffer from the same issue. Boyd and Schwartzentruber, pp. 260-5 discusses vibrational relaxation. In my code, I assume the translational temperature for the Millikan-White model.

SPARTA Version

collide_vss.cpp

Rotation:

double CollideVSS::rotrel(int isp, double Ec)

Vibration:

double CollideVSS::vibrel(int isp, double Ec)

Expected Behavior

Thermal equilibrium should be obtained in a relaxation case.

Actual Behavior

When initializing a simple heat bath simulation at equilibrium, the temperatures diverge to some steady nonequilibrium state when using variable rotational relaxation. The correct result is observed when using a constant relaxation number.

Steps to Reproduce

Run a heat bath simulation with N2 where all temperatures start at an equilibrium of ~10,000 K.

@stanmoore1
Copy link
Contributor

@kjhigdon do you have an input script for the N2 heat bath? That would be really helpful.

@kjhigdon
Copy link
Author

This equilibrium case is set up for initializing N2 at 13,000 K. I included the output from when I ran it.

Again, I didn't clean it up too much so there might be some unnecessary steps in the input file. It still has the capability to be easily switched to a N2 - N relaxation/chemistry case which are also good benchmark tests. If you want to compare with some published relaxation benchmarks. The test conditions I've set up are very close to what's published in Boyd and Schwartzentruber's book.

Equil_test.zip

@stanmoore1 stanmoore1 added the bug Something isn't working label Jan 4, 2019
@stanmoore1
Copy link
Contributor

@aborner1 is this issue now fixed?

@stanmoore1 stanmoore1 added the physics issue Related to physics label Jun 16, 2020
@aborner1
Copy link
Contributor

@aborner1 is this issue now fixed?

No, the current LB scheme permitting double relaxation + variable rotational relaxation still does not reach equilibrium.

sjplimp pushed a commit that referenced this issue Apr 20, 2021
stanmoore1 added a commit that referenced this issue Aug 25, 2022
FFT: Point to Kokkos headers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working physics issue Related to physics
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants