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
Regarding implementation of implicit thermal conduction in Joule miniapp #4254
Comments
Hi, @Raghavendra0117, Best wishes, |
Thanks a lot, @mlstowell. I went through the code related to solver (BackwardEuler in ode.cpp) and this is my understanding so far (pl correct me if i am wrong).
Assuming my understanding is correct, the "implicit solve" routine will return/update dX_dt. Inside the implicit solve routine, entries of dX_dt is defined as dT.MakeRef(&L2FESpace, dX_dt,true_offset[0]); a2->RecoverFEMSolution(X2,v2,F); weakDiv->AddMult(F, temp_lf, -1.0); pcg_m3->Mult(temp_lf, dT); I appreciate your help if you can suggest any literature/publications/docs/reports that describes the discrete form of the implemented equations that help my understanding. Thank you |
Hi, @Raghavendra0117, I think we agree that improved documentation is needed here. Best wishes, |
Thank you @mlstowell for your feedback. I would appreciate your help to understand the equations implemented in the code and clear some of my doubts.
Please refer the attached file for my derivations for implicit thermal diffusion formulations. According to my derivations (implicit), there is a missing negative sign in the implementation of flux equation (please correct me, if I am wrong). Presently, it looks like a zero flux boundary condition is considered in the implementation (there is no boundary integrator). Please confirm the same.
However, the solution (Temperature) obtained for a simple test problem is going negative/oscillatory, when run with smaller time step. I am attaching an image of such a result. It can be observed from the flux equation that when 'dt' tends to zero (refer to Eq .4 in the attached pdf file) becomes F^{n+1} = F^{n} = -k Please suggest me, how to proceed to fix the following issues.
Thank you |
Dear all,
I am new to MFEM and its usage. Presently, I am interested in solving a simple linear thermal diffusion problem. I have gone through some of the existing examples and miniapps that are already available with MFEM and I found the "joule" miniapp which use mixed FE spaces (L2, RT) suits to my requirement.
I was going through the joule mini app coding to understand the actual discrete eqns that are implemented. Presently, I am only interested in the thermal diffusion part of the "miniapp", neglecting E, B and joule heating (W). I got stuck at the thermal flux solver (--I assume it is an implicit solver--). I tried to derive the corresponding equation implemented in the solver with the help of some comments mentioned in joule.cpp & joule_solver.hpp (at line 85) and I found there are some differences. I have attached my derivations here (please refer to the attached file). Please correct me, if my derivations/assumptions are wrong. Also, It will be of great help If someone can suggest any Literature/docs/reports which describes the governing equations and its discrete form.
Thank you in advance
Raghavendra Kollipara
Attachment:
Thermal_conduction_implicit_formulation.pdf
The text was updated successfully, but these errors were encountered: