|
[Sponsors] |
How to solve given equation only in part of calculation area? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 28, 2019, 01:09 |
How to solve given equation only in part of calculation area?
|
#1 |
New Member
Zhanyuan Wang
Join Date: Sep 2018
Location: China
Posts: 9
Rep Power: 8 |
Hello foamers,
I want to add a set of scalar transport equation (consists of two equations) in VOF model (compressibleInterFoam). Here I call them Y1Eqn and Y2Eqn, where Y1 and Y2 are iterative variables. These two equations need to be solved in different phase area separately, that is to say, Y1Eqn is solved and Y2Eqn is set to zero when the value of volScalarField alpha1 is not zero (which means the 1st phase), and the same operation is done in the 2nd phase. The thought of such equations is listed in attachment below. So is there anyone who can tell me how can I achieve this goal? I thought up a solution but i dont know whether it is right. Firstly i multiplied the equation with alpha1, something like: fvScalarMatrix Y1Eqn ( alpha1*(fvm::ddt() + fvm:: () - fvm::laplacian() + source term) ) but when i run the case it broke up at the first time step. Later i find the problem: it is not allowed to multiply fvm terms with a field whose value has the probability of being zero, and volScalarField alpha1 is exactly such a field(But i dont know why it is not allowed, anyone can explain it to me?). So I modified my equation later on by changing the fvm terms to fvc terms, something like: fvScalarMatrix Y1Eqn ( fvm::ddt() + alpha1*fvc:: () - alpha1*fvc::laplacian() + source term ) I m not sure the influence of using fvc instead of fvm in convection terms and diffusion terms and what is the difference between these two methods. Can i achieve my goal by this method? Can anyone explain it to me? I am sincerely grateful for anyone who can offer any information. Thanks very much. |
|
March 28, 2019, 07:45 |
|
#2 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
Hi,
Code:
fvm:: Implicit fvc:: Explicit
__________________
Keep foaming, Tobias Holzmann |
|
March 28, 2019, 09:33 |
|
#3 |
New Member
Zhanyuan Wang
Join Date: Sep 2018
Location: China
Posts: 9
Rep Power: 8 |
Hi Tobi,
thank you for your reply! the error message is as follows: Code:
[12] #0 Foam::error::printStack(Foam::Ostream&)[16] #0 Foam::error::printStack(Foam::Ostream&)[10] #0 Foam::error::printStack(Foam::Ostream&)[14] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [12] #1 Foam::sigFpe::sigHandler(int)[13] #0 Foam::error::printStack(Foam::Ostream&)[7] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [16] #1 Foam::sigFpe::sigHandler(int)[4] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [10] #1 Foam::sigFpe::sigHandler(int) at ??:? [12] #2 ? at ??:? at ??:? [13] #1 Foam::sigFpe::sigHandler(int)[14] #1 Foam::sigFpe::sigHandler(int)[5] #0 Foam::error::printStack(Foam::Ostream&) at ??:? [7] #1 Foam::sigFpe::sigHandler(int)[1] #0 Foam::error::printStack(Foam::Ostream&)[3] #0 Foam::error::printStack(Foam::Ostream&) at ??:? at ??:? [16] #2 ?[4] #1 Foam::sigFpe::sigHandler(int) in "/lib/x86_64-linux-gnu/libc.so.6" [12] #3 ? at ??:? [10] #2 ? at ??:? [5] #1 Foam::sigFpe::sigHandler(int) at ??:? [13] #2 ? at ??:? [14] #2 ? at ??:? [7] #2 ? in "/lib/x86_64-linux-gnu/libm.so.6" [12] #4 at ??:? pow[1] #1 Foam::sigFpe::sigHandler(int) in "/lib/x86_64-linux-gnu/libc.so.6" [16] #3 ? in "/lib/x86_64-linux-gnu/libc.so.6" [10] #3 ? in "/lib/x86_64-linux-gnu/libc.so.6" [13] #3 ? at ??:? [4] #2 ? at ??:? [3] #1 Foam::sigFpe::sigHandler(int) in "/lib/x86_64-linux-gnu/libc.so.6" [14] #3 ? at ??:? [5] #2 ? in "/lib/x86_64-linux-gnu/libm.so.6" [10] #4 pow in "/lib/x86_64-linux-gnu/libm.so.6" in "/lib/x86_64-linux-gnu/libc.so.6" [7] #3 ?[12] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const in "/lib/x86_64-linux-gnu/libm.so.6" [13] #4 pow in "/lib/x86_64-linux-gnu/libm.so.6" [16] #4 pow in "/lib/x86_64-linux-gnu/libc.so.6" [4] #3 ? at ??:? [1] #2 ? in "/lib/x86_64-linux-gnu/libm.so.6" [10] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const in "/lib/x86_64-linux-gnu/libm.so.6" [14] #4 pow in "/lib/x86_64-linux-gnu/libm.so.6" [7] #4 pow in "/lib/x86_64-linux-gnu/libm.so.6" [13] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const in "/lib/x86_64-linux-gnu/libc.so.6" [5] #3 ? at ??:? [12] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const at ??:? [3] #2 ? in "/lib/x86_64-linux-gnu/libm.so.6" [16] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const in "/lib/x86_64-linux-gnu/libm.so.6" [4] #4 pow in "/lib/x86_64-linux-gnu/libc.so.6" [1] #3 ? at ??:? [10] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const in "/lib/x86_64-linux-gnu/libm.so.6" [14] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const in "/lib/x86_64-linux-gnu/libm.so.6" [7] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const at ??:? [13] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const in "/lib/x86_64-linux-gnu/libc.so.6" [3] #3 ? in "/lib/x86_64-linux-gnu/libm.so.6" [5] #4 pow in "/lib/x86_64-linux-gnu/libm.so.6" [1] #4 pow in "/lib/x86_64-linux-gnu/libm.so.6" [4] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const at ??:? [12] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const at ??:? [16] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const at ??:? [10] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const at ??:? [14] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const at ??:? [7] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const in "/lib/x86_64-linux-gnu/libm.so.6" [5] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const at ??:? [13] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const in "/lib/x86_64-linux-gnu/libm.so.6" [1] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const in "/lib/x86_64-linux-gnu/libm.so.6" [3] #4 pow at ??:? [12] #8 at ??:? [10] #8 at ??:? [4] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const at ??:? [16] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const at ??:? [7] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const at ??:? [5] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const at ??:? [13] #8 at ??:? [1] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const at ??:? [14] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const in "/lib/x86_64-linux-gnu/libm.so.6" [3] #5 Foam::PengRobinsonGas<Foam::specie>::Z(double, double) const?? at ??:? [4] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const at ??:? [5] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const at ??:? [16] #8 ? at ??:? [7] #8 at ??:? [1] #7 at ??:? [10] #9 __libc_start_mainFoam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const at ??:? [12] #9 __libc_start_main at ??:? [14] #8 at ??:? [3] #6 Foam::PengRobinsonGas<Foam::specie>::Cp(double, double) const? at ??:? [4] #8 at ??:? [13] #9 __libc_start_main at ??:? [5] #8 in "/lib/x86_64-linux-gnu/libc.so.6" [12] #10 ? in "/lib/x86_64-linux-gnu/libc.so.6" [10] #10 at ??:? [1] #8 ? at ??:? [7] #9 __libc_start_main at ??:? [3] #7 Foam::heThermo<Foam::rhoThermo, Foam::pureMixture<Foam::constTransport<Foam::species::thermo<Foam::hConstThermo<Foam::PengRobinsonGas<Foam::specie> >, Foam::sensibleInternalEnergy> > > >::Cv() const???? in "/lib/x86_64-linux-gnu/libc.so.6" [13] #10 at ??:? [16] #9 __libc_start_main? at ??:? [14] #9 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" [7] #10 at ??:? [5] #9 __libc_start_main at ??:? [wzy-Precision-Tower-7810:19333] *** Process received signal *** [wzy-Precision-Tower-7810:19333] Signal: Floating point exception (8) [wzy-Precision-Tower-7810:19333] Signal code: (-6) [wzy-Precision-Tower-7810:19333] Failing at address: 0x3e800004b85 [wzy-Precision-Tower-7810:19333] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7f9b8b5624b0] [wzy-Precision-Tower-7810:19333] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f9b8b562428] [wzy-Precision-Tower-7810:19333] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7f9b8b5624b0] [wzy-Precision-Tower-7810:19333] [ 3] /lib/x86_64-linux-gnu/libm.so.6(+0x12601)[0x7f9b8bb1f601] [wzy-Precision-Tower-7810:19333] [ 4] /lib/x86_64-linux-gnu/libm.so.6(pow+0x14)[0x7f9b8bb2ee54] [wzy-Precision-Tower-7810:19333] [ 5] at ??:? [wzy-Precision-Tower-7810:19335] *** Process received signal *** [wzy-Precision-Tower-7810:19335] Signal: Floating point exception (8) [wzy-Precision-Tower-7810:19335] Signal code: (-6) [wzy-Precision-Tower-7810:19335] Failing at address: 0x3e800004b87 /home/wzy/OpenFOAM/OpenFOAM-5.x/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so(_ZNK4Foam15PengRobinsonGasINS_6specieEE1ZEdd+0x1b9)[0x7f9b915bd4b9] [wzy-Precision-Tower-7810:19333] [ 6] /home/wzy/OpenFOAM/OpenFOAM-5.x/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so(_ZNK4Foam15PengRobinsonGasINS_6specieEE2CpEdd+0x122)[0x7f9b915c1e92] [wzy-Precision-Tower-7810:19333] [ 7] [wzy-Precision-Tower-7810:19335] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7f5bb613b4b0] [wzy-Precision-Tower-7810:19335] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7f5bb613b428] [wzy-Precision-Tower-7810:19335] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7f5bb613b4b0] [wzy-Precision-Tower-7810:19335] [ 3] /lib/x86_64-linux-gnu/libm.so.6(+0x12601)[0x7f5bb66f8601] [wzy-Precision-Tower-7810:19335] [ 4] /lib/x86_64-linux-gnu/libm.so.6(pow+0x14)[0x7f5bb6707e54] [wzy-Precision-Tower-7810:19335] [ 5] /home/wzy/OpenFOAM/OpenFOAM-5.x/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so(_ZNK4Foam8heThermoINS_9rhoThermoENS_11pureMixtureINS_14constTransportINS_7species6thermoINS_12hConstThermoINS_15PengRobinsonGasINS_6specieEEEEENS_22sensibleInternalEnergyEEEEEEEE2CvEv+0x23c)[0x7f9b916d4acc] [wzy-Precision-Tower-7810:19333] [ 8] myCompressibleInterFoam[0x44c187] [wzy-Precision-Tower-7810:19333] [ 9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f9b8b54d830] [wzy-Precision-Tower-7810:19333] [10] myCompressibleInterFoam[0x4597b9] [wzy-Precision-Tower-7810:19333] *** End of error message *** /home/wzy/OpenFOAM/OpenFOAM-5.x/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so(_ZNK4Foam15PengRobinsonGasINS_6specieEE1ZEdd+0x1b9)[0x7f5bbc1964b9] [wzy-Precision-Tower-7810:19335] [ 6] /home/wzy/OpenFOAM/OpenFOAM-5.x/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so(_ZNK4Foam15PengRobinsonGasINS_6specieEE2CpEdd+0x122)[0x7f5bbc19ae92] [wzy-Precision-Tower-7810:19335] [ 7] /home/wzy/OpenFOAM/OpenFOAM-5.x/platforms/linux64GccDPInt32Opt/lib/libfluidThermophysicalModels.so(_ZNK4Foam8heThermoINS_9rhoThermoENS_11pureMixtureINS_14constTransportINS_7species6thermoINS_12hConstThermoINS_15PengRobinsonGasINS_6specieEEEEENS_22sensibleInternalEnergyEEEEEEEE2CvEv+0x23c)[0x7f5bbc2adacc] [wzy-Precision-Tower-7810:19335] [ 8] myCompressibleInterFoam[0x44c187] [wzy-Precision-Tower-7810:19335] [ 9] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f5bb6126830] [wzy-Precision-Tower-7810:19335] [10] myCompressibleInterFoam[0x4597b9] [wzy-Precision-Tower-7810:19335] *** End of error message *** 1. Y is the mass fraction of liquid phase vapor in gas phase caused by evaporation. I dont consider gas solubility so here is only one YEqn without Y2Eqn which solves gas mass fraction in liquid phase (but later on i will take it into account). 2. TEqn is based on the original one in compressibleInterFoam. I modify the equation as the way compressibleInterFoam do following another threads in cfdol: Formulation in compressibleInterFoam I am not sure if it is right modifying equation like this. So maybe my problem is caused by incorrect T equation. |
|
March 28, 2019, 09:48 |
|
#4 |
New Member
Zhanyuan Wang
Join Date: Sep 2018
Location: China
Posts: 9
Rep Power: 8 |
Hi Tobi,
i wrongly post a reply to myself instead of you. You can look #3 And i tried for another time, it seems i can multiply fvm terms with alpha1. There is no error at the first time step. Maybe there is other mistakes before and now i correct it. But after iteration for 3e-07s the solver still broke up. The error message is as post in #3. Any suggestion will be helpful. |
|
Tags |
compressibleinterfoam, multiphase, transport equation, vof |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Non overlap area fractions | saisanthoshm88 | CFX | 13 | December 11, 2024 17:03 |
solve equation with fluent | thomas007 | FLUENT | 0 | September 28, 2016 09:10 |
Stress Equation and Implicit part | Tobi | OpenFOAM | 1 | July 13, 2016 07:25 |
solve an implicit equation in UDF | Rui_27 | Fluent UDF and Scheme Programming | 0 | September 8, 2014 11:12 |
Water subcooled boiling | Attesz | CFX | 7 | January 5, 2013 04:32 |