Hi Felix,

You should try the following:

const GravityVector &gravityAtPos(const GlobalPosition &pos) const
{
// initialize a gravity vector with zeros
GravityVector gravity(0.0);

// modify the entry for the x (???) direction according to your needs
if (onLeftArea_( pos))
gravity[0]=100;
else // don’t use else if here so gravity[0] is always defined!
gravity[0]=-100;

return gravity;
}

Best regards
Georg

Von: Dumux [mailto:[email protected]] Im Auftrag von 
Felix Feldmann
Gesendet: Montag, 7. Januar 2019 15:03
An: DuMuX User Forum
Betreff: Re: [DuMuX] gravity dependency on global postion

Hello Kilian & Timo,

Thanks for your quick reply.


1)      I initially added following line to my problem:

typedef Dune::FieldVector<Scalar, dimWorld> GravityVector;



2)      The gravity values are then defined inside the preTimeStep() function:

void preTimeStep()
{
if (GET_PARAM_FROM_GROUP(TypeTag, bool, Problem, EnableGravity))
                {
                                                                if 
(onLeftArea_(globalPos))

                                                           { gravity_=100; }

                                                     else if 
(onRightArea_(globalPos))
                                                                {  
gravity_=-100;  }
          }
}


3)      The gravity vector function is then added as suggested by Martin:


const GravityVector &gravityAtPos(const GlobalPosition &pos) const

                {  return gravity_;}


4)      Finally gravity_ is defined as a GravityVector:

  GravityVector gravity_;



Best regards,
Felix





From: Dumux [mailto:[email protected]] On Behalf Of 
Kilian Weishaupt
Sent: Monday, January 07, 2019 5:15 PM
To: [email protected]
Subject: Re: [DuMuX] gravity dependency on global postion

Hi Felix,

are you sure you correctly overloaded the gravityAtPos method in your problem? 
Maybe there is a typo and your code actually still uses the base class's method 
which returns a constant value.

Kilian
On 01/07/2019 11:58 AM, Timo Koch wrote:
Hi Felix,

how did you verify this? We would need some more information to see what the 
issue is. You get a position inside the gravity member function so if you use 
that to determine your gravity vector it should also use these different 
gravity vectors...

Timo

Am 07.01.2019 um 10:12 schrieb Felix Feldmann 
<[email protected]<mailto:[email protected]>>:
Dear Martin,

Thank you very much for your answer.

As suggested, I implemented the GravityVector method inside my problem file.

Although I defined different gravity values for each global position, the 
resulting gravity still appears to be just one constant value.

I am using DuMux 2.12.0

Kind regards,
Felix


From: Martin Schneider [mailto:[email protected]]
Sent: Wednesday, December 19, 2018 6:49 PM
To: DuMuX User Forum 
<[email protected]<mailto:[email protected]>>; 
Felix Feldmann <[email protected]<mailto:[email protected]>>
Subject: Re: [DuMuX] gravity dependency on global postion

Dear Felix,

you have to implement the following function
    const GravityVector &gravityAtPos(const GlobalPosition &pos) const
in your own problem file.
This overwrites the function from/dumux/porousmediumflow/problem.hh

I hope this helps.

Regards,
Martin

On 12/19/2018 03:43 PM, Felix Feldmann wrote:
Dear DuMux community,

Is there any method to define gravity 
dependency<https://www.dict.cc/englisch-deutsch/dependency.html> on the global 
position? Or in other words, is it possible to define a specific gravity value 
for each node?

Best regards,
Felix





_______________________________________________

Dumux mailing list

[email protected]<mailto:[email protected]>

https://listserv.uni-stuttgart.de/mailman/listinfo/dumux



--

M.Sc. Martin Schneider

University of Stuttgart

Institute for Modelling Hydraulic and Environmental Systems

Department of Hydromechanics and Modelling of Hydrosystems

Pfaffenwaldring 61

D-70569 Stuttgart

Tel: (+49) 0711/ 685-69159

Fax: (+49) 0711/ 685-60430

E-Mail: 
[email protected]<mailto:[email protected]>
_______________________________________________
Dumux mailing list
[email protected]<mailto:[email protected]>
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux



_______________________________________________

Dumux mailing list

[email protected]<mailto:[email protected]>

https://listserv.uni-stuttgart.de/mailman/listinfo/dumux


--

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Kilian Weishaupt M.Sc.

Institut für Wasser- und Umweltsystemmodellierung (IWS)

Lehrstuhl für Hydromechanik und Hydrosystemmodellierung

Universität Stuttgart, Pfaffenwaldring 61, 70569 Stuttgart

Email: 
[email protected]<mailto:[email protected]>

Telefon: 0049 711 685-60461 ** fax: 0049-711-685-60430

http://www.hydrosys.uni-stuttgart.de

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux

Reply via email to