FluidityProject / fluidity

Fluidity
http://fluidity-project.org
Other
367 stars 115 forks source link

Fluidity wont build : Issue with ububtu-16.04 #178

Closed Yhanwilliams closed 6 years ago

Yhanwilliams commented 6 years ago

I am unable to open the fluidity program after following the steps recommended on the web page

https://github.com/FluidityProject/fluidity/wiki/FAQ%3A-How-do-I-install-Fluidity-on-Ubuntu-LTS%3F or by installing the program using the synaptic software center. Are there any solutions ¿

Patol75 commented 6 years ago

Hi,

Fluidity definitely builds on Ubuntu Xenial and works fine. Can you please be more specific regarding the error(s) you encounter ?

Yhanwilliams commented 6 years ago

I have installed the program following the steps recommended by : https://github.com/FluidityProject/fluidity/wiki/FAQ%3A-How-do-I-install-Fluidity-on-Ubuntu-LTS%3F, nonetheless i am unable to launch the program. Furthermore, I am unable to find the short cut in the applications section an d I have to resort to using the terminal to find it. I an in dire need of assistance, since its essential for my PhD dissertation.

tmbgreaves commented 6 years ago

I'm guessing you're expecting a graphical interface to fluidity appearing in the applications menu. Fluidity is command-line only (graphical configuration is via the 'diamond' application) so can only be run via the command line - hence you're seeing the normal/expected behaviour here. I'd suggest referring to the Fluidity manual, which is included (compressed) in the fluidity binary package and can be uncompressed to your home directory with:

gunzip -c /usr/share/doc/fluidity/fluidity_manual.pdf.gz > ~/fluidity-manual.pdf

Yhanwilliams commented 6 years ago

Thank you very much for your assistance. Your guidance was indeed very useful. I have other questions nevertheless, for instance I am interested in finding out if it is possible to change the Pressure type from a simple flow to an oscillatory flow type , for example dp/dx=acos(wt)?Unfortunately I haven't found any such option in the manual. Is that even possible?

Patol75 commented 6 years ago

From what I know, this can be specified for the Initial Condition and the Boundary Conditions. You have to switch the type of condition from Constant to Python, and then you have to write a Python function that is declared as : def val(X, t). X is a tuple that gives you access to the coordinates on your mesh and t is likely to be an integer (maybe a float) that gives you the current time of your model. As well, it seems to me that Fluidity can only deal with weakly-applied boundary conditions for the pressure. Indeed, you will not be setting the derivative of the pressure, but the pressure itself (there does not seem to be any Neumann-type boundary condition for the pressure). However, according to the type of function that you mentioned, it should be feasible to integrate, given the fact that you know the behaviour of the pressure for the remaining coordinates.

Yhanwilliams commented 6 years ago

Thank you very much. Is there anyways to include droplet size distributions as a part of the simulations. For example typical cases for emulsions such as log normal distributions, monodisperse, bimodal/multimodal ?

Patol75 commented 6 years ago

You may want to initialize a new Scalar Field (or Vector Field) and set it according to the variable you want to define.

Yhanwilliams commented 6 years ago

Thanks. well its really the polydispersity seen as a droplet size population* droplet size distribution. That is the number of droplets that are a particular size which form part of the overall sizes found. Eventually, having a determined distribution allows one the possibility to imagine interactions between droplets of a certain size, that is how probable is the interaction of certain sized droplets.I am not sure if that can be seen as a scalar field, I am willing to take a closer look.

Yhanwilliams commented 6 years ago

I have been reading the manual and I have been trying to run the commands based on the examples, I am still uncertain what steps I should follow to run the simplest of simulations. Can you resume the basic steps for a simulation of for example a simple oil in water emulsion

drhodrid commented 6 years ago

Hi,

Detailed instructions for running examples are available in the Fluidity manual. I’d suggest you spend a little more time working through these examples carefully and familiarising yourself with Fluidity a little better. That should allow you to set up your own cases (and to understand what is and is not possible).

Best wishes,

Rhodri

Sent from my iPad

On 1 Mar 2018, at 08:00, Yhanwilliams notifications@github.com<mailto:notifications@github.com> wrote:

I have been reading the manual and I have been trying to run the commands based on the examples, I am still uncertain what steps I should follow to run the simplest of simulations. Can you resume the basic steps for a simulation of for example a simple oil in water emulsion

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/FluidityProject/fluidity/issues/178#issuecomment-369381062, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHXaKvjigJYBZhYE3kBalwLBuur9cB-8ks5tZb5pgaJpZM4SRsOv.

Patol75 commented 6 years ago

Chapter 6 of the manual deals with the meshing part (you can find gmsh tutorials online if you have never used it) and Chapter 8 with configuring the flml file for many different cases. In the directory where you installed fluidity, there are test cases. Try to pick one that is close enough to what you want to do, and have a look at the flml (using diamond). That should give you a better idea on how to set everything.

gbhutani commented 6 years ago

Hi,

Fluidity solves the macroscale transport equations of mass, momentum and energy. I believe you are trying to solve for the evolution of the droplet size distribution, which includes transport along with droplet breakage and aggregation source terms. Since such an equation -- the population balance equation (PBE) -- is a mesoscale transport equation which includes an additional independent variable (the drop size) along with the other three spatial dimensions, Fluidity can not solve the PBE directly. However, Fluidity can solve the PBE using a method of moments -- the direct quadrature method of moments (DQMOM) in this case -- and hence you need to specify the droplet size distribution as a set of its moments. DQMOM solves for the evolution of the moments of the droplet distribution function, which can be used to reconstruct the distribution function if needed.

Please refer to the section on Population Balance Modelling (Section 5.3 in the current master) for more details.

Regards, Gaurav

--

Dr Gaurav Bhutani Assistant Professor School of Engineering Indian Institute of Technology Mandi Kamand Campus Mandi 175005 Himachal Pradesh, India Tel: +91 1905-267108 Email: gaurav@iitmandi.ac.in

On Wed, Feb 28, 2018 at 6:43 AM, Yhanwilliams notifications@github.com wrote:

Thanks. well its really the polydispersity seen as a droplet size population* droplet size distribution. That is the number of droplets that are a particular size which form part of the overall sizes found. Eventualy, having a determined distribution allows one the possibility to imagine interactions between droplets of a certain size, that is how probable is the interaction of certain sized droplets.I am not sure if that can be seen as a scalar field, I am willing to take a closer look.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/FluidityProject/fluidity/issues/178#issuecomment-369085715, or mute the thread https://github.com/notifications/unsubscribe-auth/AHYUg4ZzXFnjcAUDNrdhRPmo-mqvkGuMks5tZKg8gaJpZM4SRsOv .

Yhanwilliams commented 6 years ago

Thanks Dr. Bhutani. I am actually using your article for guidance. Its all new to me. I am trying my utmost to understand.

Yhanwilliams commented 6 years ago

Thanks to everyone for their kind contributions. I have began creating my own meshes and have been able to obtain my xml files after using diamond. My question is now what steps should I now follow to do a simulation using Fluidity. That is, what command should I write up in the ubuntu terminal for example?Thanks

matt-piggott commented 6 years ago

Hi

This should all be clear from the manual, but if you are still having trouble running simulations perhaps the extra information here will be of help:

https://github.com/FluidityProject/fluidity/wiki

https://github.com/FluidityProject/training

On 3 March 2018 at 21:55, Yhanwilliams notifications@github.com wrote:

Thanks to everyone for their kind contributions. I have began creating my own meshes and have been able to obtain my xml files after using diamond. My question is now what steps should I now follow to do a simulation using Fluidity.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/FluidityProject/fluidity/issues/178#issuecomment-370182901, or mute the thread https://github.com/notifications/unsubscribe-auth/AFZXNpTf6aGpTj8B4_j9PC6NaNocaLBTks5taxFJgaJpZM4SRsOv .

Yhanwilliams commented 6 years ago

Thanks to everyone for yor help so far. I have had a few continued challenges, most importantly with regards to running a few population Balance tests . For example in the case of " fluidity/tests/popbal_homog_brk_aggr..I have been receiving the following indication from the terminal and unfortunately I am not too sure I understand.

Traceback (most recent call last): File "", line 2, in KeyError: 'Moment_0' Python error, Python string was: mom0_anal=state.scalar_fields["m0_anal"] mom0_dqmom=state.scalar_fields["Moment_0"] for i in range(field.node_count): field.set(i, abs(mom0_dqmom.node_val(i)-mom0_anal.node_val(i))/abs(mom0_anal.node_val(i))) ERROR Error message: Dying

MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 16.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them.

Can anyone offer some assistance. Thanks

Patol75 commented 6 years ago

Can you provide the command that you ran and that resulted in this output ? Also, while you are inside the relevant test directory, can you run: ../../tools/testharness.py -f popbal_homog_N2_brk_aggr.xml and report the output if anything fails ? It works fine on my system.

Yhanwilliams commented 6 years ago

@Patol75 I have managed to fix the issues that i mentioned previously. Notwithstanding, I am still working on my own problems, without complete success so far. I am adding a few documents. multimaterial.pdf

Yhannel1.pdf . Any suggestions? I have also placed the notifications from the terminal.

gieberth@kayo:~$ fluidity multimaterial.xml i: 1 -- MaterialVolumeFraction
i: 2 -- PhaseVolumeFraction
i: 3 -- OldMaterialVolumeFraction
i: 4 -- IteratedMaterialVolumeFraction
i: 5 -- OldPhaseVolumeFraction
i: 6 -- IteratedPhaseVolumeFraction
i: 7 -- Time
ERROR Error message: Density is not a field name in this state

MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 16.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. You may or may not see output from other processes, depending on exactly when Open MPI kills them.

`

Yhanwilliams commented 6 years ago

Cordial greetings to everyone. I have the following questions.

1.How do I include a particle diameter from a scalar field to be used in the drag term of the multiphase interaction?

  1. Is it possible to do a particle number count?
  2. How do I know in which units the scalar fields are ?

Thanks to everyone so far, without a doubt you have aided me considerably. Sincerely, Yhan

Patol75 commented 6 years ago

Hello,

For 1. and 2., I have no idea. For 3., I would say that each field is expressed in S.I. units, except other mention in the manual or in diamond.

Glad to hear that you have made progress.

Thomas

gbhutani commented 6 years ago

Answering 1 and 2

You can now include the particle diameter as a scalar field in diamond. It can be specified in the ‘multiphase interaction’ tree options. Details are available in the Fluidity Manual. You can also refer to the flml files in the multiphase examples in the examples folder. If you are using the population balance model the sauter mean diameter scalar field is available for use.

Particle number can be calculated as the zeroth moment of the number density function. Moment scalar fields are available in the population balance model. Details can be seen in the manual and examples.

Regards, Gaurav

On Mon, 23 Apr 2018 at 22:31, Yhanwilliams notifications@github.com wrote:

Cordial greetings to everyone. I have the following questions.

1.How do I include a particle diameter from a scalar field to be used in the drag term of the multiphase interaction?

  1. Is it possible to do a particle number count?
  2. How do I know in which units the scalar fields are ?

Thanks to everyone so far, without a doubt you have aided me considerably. Sincerely, Yhan

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FluidityProject/fluidity/issues/178#issuecomment-383648271, or mute the thread https://github.com/notifications/unsubscribe-auth/AHYUgyr804OqPaV6IAETnPM6EdEiNqrhks5trgj7gaJpZM4SRsOv .

-- Dr Gaurav Bhutani Assistant Professor School of Engineering Indian Institute of Technology Mandi Kamand Campus Mandi 175005 Himachal Pradesh, India Tel: +91 1905-267108 Email: gaurav.bhutani@gmail.com

Yhanwilliams commented 6 years ago

Thanks again. With regard to the previous questions, I think I established 3 incorrectly. The scalar fields are reported as l2norm, integral and max/min. I really wanted to know whats the difference between them. In the manual its stated that l2norm scalar fields are associated with the normal vector. @Patol75

Patol75 commented 6 years ago

Well, I assume that you are mentioning the fields found in the .stat file and not the ones in the .vtu then. So, min and max are the minimum and maximum values recorded at each time step for the field you are interested in. Therefore they have the same units as the field. For the integral and l2norm, I imagine you can consider them in the sense of the Lp spaces (https://www.wikiwand.com/en/Lp_space). The integrals are done numerically over the entire domain on which the field is defined and you respectively have the values 1 and 2 for p. Therefore the units should be the ones of the field times the ones of a distance or area or volume.

Thomas

Yhanwilliams commented 6 years ago

Greetings to everyone, is it possible to establish values for interfacial tension between inmiscible liquid phases phases example oil+water using fluidity? while I have notices the surface tension option these values differ somewhat since they are referenced against air as the second phase.

  1. Is it always necessary to add a source term and a diffusivity term in the popbalance framework, and why? Furthermore are there any guideline to using them ? Any additional instructions in using the population balance framework would be appreciated, for example how setting the weights and weighted abciscas should be done.

Thanks for everyones help. Regards Yhan.

On Wed, Apr 25, 2018 at 12:52 AM, Thomas Duvernay notifications@github.com wrote:

Well, I assume that you are mentioning the fields found in the .stat file and not the ones in the .vtu then. So, min and max are the minimum and maximum values recorded at each time step for the field you are interested in. Therefore they have the same units as the field. For the integral and l2norm, I imagine you can consider them in the sense of the Lp spaces (https://www.wikiwand.com/en/Lp_space). The integrals are done numerically over the entire domain on which the field is defined and you respectively have the values 1 and 2 for p. Therefore the units should be the ones of the field times the ones of a distance or area or volume.

Thomas

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FluidityProject/fluidity/issues/178#issuecomment-384160168, or mute the thread https://github.com/notifications/unsubscribe-auth/AjE4iEnuY76cheRQ2RUNP4G4cNkgu-xjks5tsAEpgaJpZM4SRsOv .