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

2021 Updates: Bohm Potential and yet again Odd Viscosity #57

Open
pcosme opened this issue Jan 7, 2021 · 1 comment
Open

2021 Updates: Bohm Potential and yet again Odd Viscosity #57

pcosme opened this issue Jan 7, 2021 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@pcosme
Copy link
Collaborator

pcosme commented Jan 7, 2021

Hi everyone, I just had a brainstorm with Hugo, and we had two ideas, first of all it might be interesting to add to our model the Bohm potential correction from quantum plasmas i.e. a new term in the form:

(ℏ/m)2 ∇( ∇2n/√n )

usually such term is discardas is it goes with ℏ2 however since our definition of effective mass is also proportional to ℏ we can expect that in some regimes this term becomes significant.

Now the question remains on how should we implement such dispersive term, if as a current in the conservative part or as a fully discretized term in the centred space, probably the former.

Related with the question of where to include the terms we also discussed the everlasting question of how to get the odd viscosit terms to work. As it is in fact not a diffusiver term but a dispersive one, we got to the conclusion that it might be better to consider the term

νo2v

as the conservation of a current

νo ∇ ∙ ℳ ∇v

We should look into it

@pcosme pcosme added the enhancement New feature or request label Jan 7, 2021
@pcosme pcosme mentioned this issue Feb 4, 2021
pcosme added a commit that referenced this issue May 22, 2021
* Adicionei o branch "EnergyTransfer" para implementar a resolução numérica da equação de transferência de energia (sem fonte) usando o método de Richtmyer.

* Declarei os métodos EnergyFluxX e EnergyFluxY.

* New class for the drip point itself, calculating the first (on other grid) and second neighbours (on same grid)

* Reestruturação do m+etodo de richtmyer e dos seus fluxos. Os fluxos passam a receber como argumento o ponto da rede a que se referem e o "lado" que o fluxo está a calcular depois internamente cada fluxo calcula os pontos vizinhos

* First successful implementation of odd viscosity following #57 (see also #32)

* issue with the velocity gradiant , tried to solve the problem with the  wrong direction of some of the finite differences

* optimizin includes

* solved mistake on gradient mid last position

* updated graphene fluid 2d destructor

* now passing valgrind

* Added odd_vis varible to TethysBase class and corresponding setter and getter

* conditional computation of odd viscosity

* Odd viscosity parameter added to the SetUpParametersLib.h class and also to the welcome screen

* Versioning update

* Added odd viscosity value to filename string

* creation of temperature arrays

* Criação dos DataSets no HDF5

* DataSet da temperatura no Fluid2DLib.cpp

* Dirichlet Boundaries

* Temperature laplacian

* stability condition for temperature evolution

* Inicialização dos parâmetros a partir de um ficheiro .txt

* added thermal diffusivity to HDF5 file attributes

* extension of the grid library to include third neighbours useful for the weighted (1,9) method laplacians

* Inicialização dos parâmetros a partir de um ficheiro. O nome do ficheiro é colocado no terminal, a seguir a ./TETHYS_2D.

O ficheiro deverá ter a seguinte forma (substituindo pelos valores desejados)
Sound velocity: 20.3
Fermi velocity: 10.3
Shear viscosity: 0.05
Odd viscosity: 0.01
Collision frequency: 2.5
Cyclotron frequency: 5.6
Aspect ratio: 1
Save mode: 0

* Inicialização dos parâmetros a partir de um ficheiro. O nome do ficheiro é colocado no terminal, a seguir a ./TETHYS_2D.

O ficheiro deverá ter a seguinte forma (substituindo pelos valores desejados)
Sound velocity: 20.3
Fermi velocity: 10.3
Shear viscosity: 0.05
Odd viscosity: 0.01
Collision frequency: 2.5
Cyclotron frequency: 5.6
Aspect ratio: 1
Save mode: 0

* moved the actual computation of the laplacian to an external function to avoid repetition when obtaining the laplacians of vel_x vel_y and temperature. Also, made use of the GridPoint class to index the neighbours when calculating the laplacians

* Alteração do método de inicialização a partir de ficheiro. As strings "sound", "fermi", "shear", "odd", "col", "cycl", "aspect", "save" podem ser escritas por ordem aleatória, indicando o respetivo valor à frente.

* added try/catch block to HDF5 file creation

* Adicionou-se o termo hiperbólico da equação da temperatura.

* conditional check at Fluid2D::Richtmyer to only calculate temperature evolution when needed

* cmake bug solve

* added explicit convection term (or advection term of the material derivative) to the Temperature flux

* "desliguei" a convecção do nivel de Fermi para ver o que acontece, e dessa forma o problema das temperaturas irrealistas desaparece

* reintroduced the Fermi level convection, after scaling the temperature with the Fermi temperature. n.b. 300K~0.22 T_F

* cmake with hdf5 directories

* Added thermal diffusivity to the inputs: by main argument, prompt or text file

* removed the setting of the therml diffudsivity on the main file

* gitignore uipdate to exclude build directoriy

* gitignore uipdate to exclude build directoriy

* Delete CMakeCache.txt

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete CMakeCCompiler.cmake

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete cmake_install.cmake

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete CMakeCXXCompiler.cmake

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete CMakeSystem.cmake

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete CMakeCCompilerId.c

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete CXX.includecache

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete progress.make

ficheiros produzidos pelo cmake nao e' necessario unir ao master

* Delete CXX.includecache

ficheiros produzidos pelo cmake nao e' necessario unir ao master

Co-authored-by: ifgrd26 <[email protected]>
pcosme added a commit that referenced this issue Jan 13, 2022
Inclded a potential in the form B*Laplacian(n)*Identity in the flux divergence. As it stands the B coeficciente needs to be quite small for the Dyakonov Shur BC problem to converge.
@pcosme
Copy link
Collaborator Author

pcosme commented Jan 13, 2022

At commit 8b2fd90

I've started to do some experiments with a "toy" Bohm potential. It remains to be seen if it is more advantageous to include the term as a force term or as a source term.

Moreover, for now It is just applied a B ∇ (∇2n) while in reality should be something like
∇∙( B n∇⊗∇ log(n) )

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

No branches or pull requests

3 participants