# magnitude of a volVectorField !!?

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

March 23, 2011, 13:12
magnitude of a volVectorField !!?
#1
Senior Member

Join Date: Sep 2010
Location: France
Posts: 224
Rep Power: 10
hi foamers,

I have a volVectorField Wrel, and a volScalarField gammadot (of same dimensions)

I need to get the volScalarField rhok,
where rhok= (2*magnitude(Wrel) ) / (gammadot+magnitude(Wrel))
so i tried the following:

but it didn't work !!!! it compiles well, but when i run it it gives this error:

Quote:
any ideas ???

thanks

T.D.

 March 23, 2011, 14:32 #2 Senior Member   Ben K Join Date: Feb 2010 Location: Ottawa, Canada Posts: 140 Rep Power: 12 I think you're going to end up with a list of values from mag(Wrel) (1 value for each point in your mesh), so you'll have to do a forAll loop to capture that: Code: ```//define rhok as a volScalarField first forAll(rhok, i) { rhok[i]=2*mag(Wrel[i])/(gammadot+mag(Wrel[i])); }```

 March 24, 2011, 03:26 #3 Senior Member     Anton Kidess Join Date: May 2009 Location: Germany Posts: 1,261 Rep Power: 23 Are you sure gammadot+mag(Wrel) is never zero?

March 24, 2011, 04:22
#4
Senior Member

Join Date: Sep 2010
Location: France
Posts: 224
Rep Power: 10
hi guys,
thanks benk and akidess, i tried what you said (benk you forgot "[i]" for gammadot )
finally it was a division by zero error, but i didn't pay attention, and in compiler it says 'uninterpreted error'.
Any way here it is
Quote:
 forAll(rhok, i) { rhok[i]=2*mag(Wrel[i])/(gammadot[i]+mag(Wrel[i])+epsilon); } where epsilon is a very small value. It works !
Thanks

Best Regards,
T.D.

 March 24, 2011, 04:30 #5 Super Moderator     Niklas Nordin Join Date: Mar 2009 Location: Stockholm, Sweden Posts: 693 Rep Power: 22 try this dimensionedScalar WSmall("WSmall", Wrel.dimension(), 1.0e-15); volScalarField rhok=2*mag(Wrel)/max(WSmall, gammadot+mag(Wrel)));

 March 24, 2011, 04:54 #6 Member   Sabin Ceuca Join Date: Mar 2010 Location: Munich Posts: 42 Rep Power: 9 Hi, I would try this out: forAll(mesh.cells(), celli) { rhok[celli]=2*mag(Wrel[celli])/(gammadot[celli]+mag(Wrel[celli])); } I was wondering why you don't user gammadot[celli], but gammadot? Regards,

 March 24, 2011, 05:14 #7 Senior Member   Join Date: Sep 2010 Location: France Posts: 224 Rep Power: 10 hi, sabin.ceuca this what i have done exactly as you mensioned: forAll(mesh.cells(), celli) { rhok[celli]=2*mag(Wrel[celli])/(gammadot[celli]+mag(Wrel[celli])+1e-15); } it worked, thanks

 July 17, 2016, 22:35 #8 New Member   Fidel Vallejo Join Date: Dec 2015 Location: Santiago Posts: 7 Rep Power: 3 Please, tell me how define a "volVectorField".

 Thread Tools Display Modes Linear Mode

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is On HTML code is OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post watashiwa OpenFOAM 1 October 14, 2010 12:02 ahmadbakri STAR-CCM+ 1 June 3, 2010 13:03 Schag OpenFOAM 3 August 26, 2009 10:08 Hai Duc FLUENT 0 January 9, 2008 08:39 susana OpenFOAM Pre-Processing 5 November 16, 2006 07:53

All times are GMT -4. The time now is 05:45.