-
Notifications
You must be signed in to change notification settings - Fork 247
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
[ConvectionDiffusion] coupling two domains #9575
Comments
You can use the MeshTying condition from the contact app, so the transference is not required, and the problem becomes "monolithic" BTW: I need to clean up the MeshTying condition |
thx, but we deliberately want to set it up as a partitioned model |
We have to deal with this problem many times in altair (we do not use the ConvDiff app though). What we do for the moment is that solver has its "default condition" that replaces every condition from the mdpa. Then we have a python process which is basically a wrapper for replace_elements_and_conditions_process (we allow to also change the properties here, but its not strictly necessary) and it is called from the processes list. Not too pretty, but it worked for us so far, I'll be very happy to hear a better alternative ;) |
@ddiezrod so you basically replace Conditions per (Sub)ModelPart and not globally? |
When we call this wrapper process, yes, the model part name is an input parameter and it will be a submodel part of the main one. We still have the call to the replace process in the solver though, where every condition is replaced (This is in solver PrepareModelPart, so before the other processes are called). What I discussed not long ago with @jrubiogonzalez is that we'd like to remove this from the solver so all boundary conditions are provided only in ProjectParameters. |
That's it. What we have right now it is working, not elegant but functional. We'd like to have more flexibility when imposing BC. |
I tried with the following addition in the solver settings |
@rishithellathmeethal you tried the defaults without changing the condition, can you try with |
First of all I'd like to say that there's a solver that already solves this physics. It is implemented in
The Note that either the
From my answer above, I see two options in here
If possible, I'd go for option 1.
I confirm this. |
Sorry, that was copy paste from one of the trials. But I tried both!!! |
thanks for the input @rubenzorrilla ! |
You understood correctly 😉 |
@philbucher tried it, that part works fine |
so with setting this boundary condition the domain no longer "fills up" with temperature right? Now in the coupled case, can you also print the |
yeah, in this case domain doesn't get fills up with temperature. This is the coupled case, cant find any |
On the right side it is called REACTION_FLUX, can you check that one? but seeing FACE_HEAT_FLUX on the left means that (at least sth) is mapped, hence guessing the reaction flux is calculated correctly are you using weak or strong coupling now? |
Sorry for the delay in my comments. These are the results that I obtained. For the 5th time-step: For the last time step (50): It seems to me that the conditions are well applied in both domains, the REACTION_FLUX is the same as the FACE_HEAT_FLUX (with a change in the sign). The results that I sent at the beginning to @philbucher unfortunately were missing the FACE_HEAT_FLUX results and that may have been confusing. I have a question @rishithellathmeethal, in my case, the initial condition is that both bodies have a temperature of 200K and the solid (left domain) has a temperature condition on its left face of 300K, meanwhile, the fluid (right domain) has a temperature condition on its right face of 250K. Did you use different conditions? Can you share them with me so I can run a simulation with these conditions? From the last picture of the fluxes that you are showing, it seems that you have no REACTION_FLUX on the fluid's (right domain) right face, which means you may not be applying any temperature condition there. Please find attached my test case: Please feel free to set up a meeting where we can discuss this. |
@SADPR |
@rishithellathmeethal it seems like the discontinuity might be caused by the lack of transforming the |
so I finished #5993 but unfortunately it didn't make a difference in either of the examples :/ => I still think it is a problem with the boundary conditions not properly taking into account the MY RECOMMENDATION: for reference the two parameter files where I applied #5993: "auxiliary_variables_list" : ["ARRHENIUS"] I also made a PR for adding the ConDiff CoSimWrapper to Master (requires approval): #9640 EDIT now all the PRs are merged so you can try with master |
Is this still active? |
Hi,
Several ppl approached me in the past regarding the coupling of convection-diffusion problems.
Since the communication was only over mail and independent, I am trying to collect the findings here to hopefully find a solution in the future.
Problem Setup
@SADPR thx for the images
Quantities to be coupled:
TEMPERATURE
) to Fluid (TEMPERATURE
)REACTION_FLUX
) to Solid (FACE_HEAT_FLUX
)Current Issue
@rishithellathmeethal thx for the image
As seen in the picture, the left domain "fills up with temperature", it seems like the coupling of the flux is not working.
The temperature should be linearly distributed from one side to the other (and simulating the same problem without coupling shows this correctly)
Questions to be answered
According to some conversations I had with @rubenzorrilla, the
FluxCondition
should be used in the solid domain to take theFACE_HEAT_FLUX
coming from the fluid into account.This seems to be correct and in accordance to this test. This test is old and does not work any more with the new structure of the ConDiff solvers. The important part is that in this test, the
FluxCondition
s are already inside the mdpa. With the new structure of the ConDiff solvers however, theReplaceElementsAndConditionsProcess
is used which uses theThermalCondition
by default.Now question (mostly for @rubenzorrilla): How can we achieve the desired coupling? Can we just replace all the conditions? Or do we need both conditions (i.e.
FluxCondition
s andThermalCondition
s). If we need both then I think it is not possible with the current design of the solvers.For completeness: The
REACTION_FLUX
is a concentrated quantity which needs to be transformed into a distributed quantity before mapping it ontoFACE_HEAT_FLUX
. I did a draft for adding this in the CoSimApp in #5993 which I can finish soon. In any case I consider this as a second step for this coupling to work@rishithellathmeethal @SADPR please add your thoughts in case I forgot sth
The text was updated successfully, but these errors were encountered: