Replies: 1 comment
-
The inlet boundary condition is a bit weird in FiPy. I'm not totally sure why it isn't working. However, the following code seems to work. It seems to capture the time dependence in the boundary conditions. Also, both the Van Leer and power law work. Obviously, the power law smooths things out a lot more. You don't seem to get the bump on x1 with the power law or it's a very small bump. Van Leer is probably giving the solution that you're looking for. BTW, FiPy isn't that great at hyperbolic equations in isolation. These are the final curves using Van Leer. In the following, x1 and x2 are constrained to 0 on the left and I've used a source of
|
Beta Was this translation helpful? Give feedback.
-
Hello,
I want to use FiPy to simulate an adsorption process and have implemented the necessary equations. But I ran into 2 different problems when executing the calculations. I saw a similar discussion (#880) but I could not solve the issues based on the information. Further help to understand what is going on would be great!
Description of the system:
The process can be imagined using a pipe filled with adsorbent material and a fluid flowing through this pipe. 2 adsorbing substances are injected during a pre-specified time interval. These 2 substances compete for adsorption sites.
In the easiest case, the system can be modeled with 2 PDEs, one for each component, containing a transient term and a convection term:
TransientTerm + ConvectionTerm == 0
I wanted to model the injection time intervals of the 2 adsorbing substances with time-dependent boundary conditions "on the left side" of the pipe for variables var1 and var2. Below, you can find a code example:
The 1st issue: I used the VanLeerConvectionTerm by chance and the time-dependent boundary conditions seem to work (in the sense that I at least see the "injection" stop). However, I would like to test other convection terms. But if I replace the VanLeerConvectionTerm e.g., by PowerLawConvectionTerm, the time-dependence of the left side boundary conditions is not captured any more. It just keeps the initial value. Any idea what is going on here?
The 2nd issue happens when I try to improve accuracy. I noticed that with the above code, the competition of the 2 substances for adsorption sites is not correctly accounted for. For example, the variable var1 needs to increase its value at the front (i.e. build-up of higher amount of the faster travelling substance 1 at the propagating front). This is accounted for if I change the above code to use "sweep": the front looks correct then. However, also here the time-dependence of the boundary conditions is not captured any more (even when I use the VanLeerConvectionTerm that seemed to work before). Any ideas what is going on and what to change? (Example code with sweep below)
Thanks in advance for any help and explanations!
Beta Was this translation helpful? Give feedback.
All reactions