
[Sponsors] 
August 2, 2020, 04:46 
time derivative of laplacian

#1 
New Member
Max
Join Date: Jan 2017
Posts: 9
Rep Power: 9 
I have a function I can't implement:
a  is a constant in [m2/s], which I defined via external dictionary (lookup) c  is a constant in [s], which I defined via external dictionary (lookup) T  is temperature in [K] Laplacian of T should yield [K/m2] and should yield [K], which is a scalar field. I can't understand why I can't get a time derivative from it. I've tried fvm::ddt(c * fvm::laplacian(a,T)), but got an error: no matching function for call to ‘Foam::GeometricField::GeometricField(Foam::tmp >)’ 

August 2, 2020, 16:06 

#2 
Senior Member
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 354
Rep Power: 15 
Quote:
fvm::ddt(fvc::laplacian(... Coming to your interpretation problem, you are mixing mathematical notations. The leibniz notation (d/dt) with the vector (nabla, delta) notation for derivatives. Im betting the Delta T in the term above means "temperature difference", not "second order derivative of..."' 

August 2, 2020, 16:22 

#3 
New Member
Max
Join Date: Jan 2017
Posts: 9
Rep Power: 9 
Interesting thing:compiles OK:
volScalarField lap(c * fvc::laplacian(a,T)); fvScalarMatrix TEqn (fvm::ddt(T)  fvm::ddt(lap)  fvm::laplacian(a,T) == 0); but solution fails with the following error: incompatible fields for operation [T]  [(c*laplacian(a,T))] compilation error (no matching function for call to ‘ddt(Foam::tmp >)’): fvScalarMatrix TEqn (fvm::ddt(T)  fvm::ddt(c * fvc::laplacian(a,T)))  fvm::laplacian(a,T) == 0);  As for notation: This is a part of modified Fourier equation: where a  thermal diffusivity [m2/s] if one set c=0 s, then will get simple heat equation 

August 3, 2020, 15:21 

#4 
Senior Member
Michael Alletto
Join Date: Jun 2018
Location: Bremen
Posts: 615
Rep Power: 16 
did you try:
fvc::ddt(c * fvc::laplacian(a,T))) I think there is no implicit operator implement in openfaom for what you want to do 

August 3, 2020, 15:35 

#5 
New Member
Max
Join Date: Jan 2017
Posts: 9
Rep Power: 9 
I did.. same error.
a somewhat solution is that c * fvc::laplacian(a,fvc::ddt(T)) or c * fvc::ddt(volScalarField("lap",fvc::laplacian(a,T)) ) Both compile ok and simulation runs well, but this term doesn't affect solution at all. Seems like Last edited by nikitinpro; August 3, 2020 at 17:07. 

Tags 
laplacian operator, openfoam, time derivative 
Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
courant number increases to rather large values  6863523  OpenFOAM Running, Solving & CFD  22  July 5, 2023 23:48 
simpleFoam error  "Floating point exception"  mbcx4jc2  OpenFOAM Running, Solving & CFD  12  August 4, 2015 02:20 
How to write k and epsilon before the abnormal end  xiuying  OpenFOAM Running, Solving & CFD  8  August 27, 2013 15:33 
dynamic Mesh is faster than MRF????  sharonyue  OpenFOAM Running, Solving & CFD  14  August 26, 2013 07:47 
mixerVesselAMI2D's mass is not balancing  sharonyue  OpenFOAM Running, Solving & CFD  6  June 10, 2013 09:34 