# solving multiphysics in subdomain

 Register Blogs Members List Search Today's Posts Mark Forums Read

 February 15, 2016, 13:27 solving multiphysics in subdomain #1 New Member   exw599 Join Date: Jan 2016 Posts: 6 Rep Power: 9 Hello everyone, I was using porousSimpleFoam to solve the fluid velocity field of the flow passing a U-shape porous bed. I also want to take the porous subdomain as a solid chunk and solve the stress field using solidDisplacementFoam. I know you could write additional equations in your own solver to couple different physics, but I just can not find a way to ONLY solve the additional equations in PART of the whole domain (since porous domain is only a fraction of the entire domain). Any suggestions and helps would be appreciated.

 February 16, 2016, 09:39 #2 Senior Member   Join Date: Oct 2013 Posts: 397 Rep Power: 17 You should take a look at how multi-region solvers are written. In short, you load different meshes and their fields and solve the equations separately on them. You might need boundary conditions to couple the values between the regions.

 February 16, 2016, 10:29 #3 Senior Member     Anton Kidess Join Date: May 2009 Location: Germany Posts: 1,377 Rep Power: 29 A simple alternative is to multiply your equation system with an indicator field which is 1 only where you want the equations to be solved. __________________ *On twitter @akidTwit *Spend as much time formulating your questions as you expect people to spend on their answer.

 February 17, 2016, 15:40 #4 New Member   exw599 Join Date: Jan 2016 Posts: 6 Rep Power: 9 Thank you both for your replies, I have checked the multi region solvers but it seems to decompose the whole domain and solve different equations on each subdomain. Maybe a more practical approach for me is to output the results from a sub-region and make it serve as the initial condition for another solver. I am searching for the method to output VectorField only from a sub-region.

May 15, 2016, 22:25
#5
Member

Karelke Yu
Join Date: Dec 2014
Posts: 96
Rep Power: 10
Quote:
 Originally Posted by exw599 Thank you both for your replies, I have checked the multi region solvers but it seems to decompose the whole domain and solve different equations on each subdomain. Maybe a more practical approach for me is to output the results from a sub-region and make it serve as the initial condition for another solver. I am searching for the method to output VectorField only from a sub-region.
hi, exw599, have you got a good way to do this? i now have exactly the same situation.

May 15, 2016, 23:11
#6
Member

Karelke Yu
Join Date: Dec 2014
Posts: 96
Rep Power: 10
Quote:
 Originally Posted by akidess A simple alternative is to multiply your equation system with an indicator field which is 1 only where you want the equations to be solved.
hi, Anton. thank you for your hints here. it's a good approach, but i am wondering how the boundary conditions could be imposed because they only need to be specified at the boundaries of the subdomain.

are there any simple cases we can refer to?

thanks very much!

 May 23, 2016, 14:45 #7 New Member   exw599 Join Date: Jan 2016 Posts: 6 Rep Power: 9 Hi in the end I simply solve two different equations on using two different solvers with the results from first solver serving as initial condition for the second solver. You can use mapfield function to map field value between different meshes as long as they have intersections.

May 23, 2016, 21:41
#8
Member

Karelke Yu
Join Date: Dec 2014
Posts: 96
Rep Power: 10
Quote:
 Originally Posted by exw599 Hi in the end I simply solve two different equations on using two different solvers with the results from first solver serving as initial condition for the second solver. You can use mapfield function to map field value between different meshes as long as they have intersections.
thank you for your enlightment. this is very helpful and can be a very nice solution for steady case. unfortunately i work on an unsteady case and i do very long time simulation. it's nearly impossible to write required fields at each time step and then read as solved parameters for the second solver.

May 24, 2016, 16:27
#9
New Member

exw599
Join Date: Jan 2016
Posts: 6
Rep Power: 9
Quote:
 Originally Posted by cfdopenfoam thank you for your enlightment. this is very helpful and can be a very nice solution for steady case. unfortunately i work on an unsteady case and i do very long time simulation. it's nearly impossible to write required fields at each time step and then read as solved parameters for the second solver.
Hi that depends on the ratio of the relaxation times between the two coupling dynamics, I suppose if one is significantly smaller than the other you could safely ignore the dynamics with smaller relaxation time and solve it using steady state solver instead and solve full dynamics for the other. Hope this helps.