Transcript Fluidix
Fluidix
Getting Started with Fluidix
© 2008 Adam MacDonald, Dr. David Pink, StFX University, OneZero Software
Introduction
This guide covers the basics of using Fluidix to build,
simulate, and visualize a simple system
Many advanced and important features are not
mentioned in this tutorial
Refer to the Fluidix User Manual for a thorough
explanation of the purpose and function of all aspects of
the user interface
At First Glance
The Fluidix control interface consists of four sections
Particles: for creating particles and specifying the interactions
Springs: for specifying permanent bonds between particles
Simulation: for setting properties and exporting a simulation
Analyzer: for visualizing results and data analysis
The 3D display window is shown on the right
Dragging using the left mouse button will rotate the display
Dragging using the right mouse button will zoom the display
The “World”
The first and only item in the “Structures” list is the
“World”
All particles specified within the “World” structure are
placed randomly throughout the entire simulation volume
The name of a structure can be edited by changing the
text in the entry field
Particle Types
Each structure (including “World”) contains a set of
particle types: a collection of particles with identical
radius and mass
Add a particle type to “World” by clicking “Add”
Particles can be added or removed to/from a particle
type by changing “Count”
Building a New Structure
A new structure can be created by selecting “World” and
clicking the “Edit” tab
This will switch into “Edit” mode
A local simulation of this structure’s particles is shown in the
display window
Particles can be interactively positioned within the box
Changes to the particle properties will be immediately evident in
the display window
Structural Springs
While in “Edit” mode, the “Springs” section has effect
only on the structure currently being designed
Select the first and last particles in the structure, and
click “Poly” to easily create a polymer
Positioning Structures
Click the “Move One” tab to leave “Edit” mode
Our polymer is visible in the small box at the origin
The six values in the “Move One” section can be used to
set the position and rotation of this structure
Structure Instances
Multiple copies of a structure can be independently
placed
The “Place All” section has a number of tools for placing
many structure instances easily
Here, I place 100 instances of our polymer randomly
throughout the world
Relations
Now, our simulation has two particle types:
“Water” (100 particles in the “World” structure, placed randomly)
“New Type” (2030 particles)
30 particles in the “World” structure, placed randomly
20 particles in each of 100 polymers (2000 total)
Three relations exist in the “Relations” list to account for
each possible interaction between particles of these two
types
Conservative Interaction
The energy-conserving repulsive interaction between
pairs of particles
A lower value means the particles are soft; they may penetrate
each other
A higher value means the particles are hard; they repel very
quickly once they penetrate even a small amount
Since interactions are specified per pair of particle types,
particles may be hard when interacting with one type of
particle, but soft to another
For example, “Water” particles may repel each other very
strongly, while “New Type” particles are allowed to pass through
“Water” without effect
Dissipative Interaction
The non-energy-conserving interaction between pairs of
particles
Fast moving particles are slowed by a dissipative force
A random force is applied according to the temperature
The dissipative and random forces are scaled by this value
This interaction is the key of the DPD technique, allowing
it to use a single soft particle to represent a cluster of
molecules
Any value between 2 and 5 is acceptable for most cases
Particle Properties
Properties of individual particles can be specified in the
“Particle Properties” section
Charge: the electrostatic charge of a particle
Mark: an integer tag which may be accessed by a custom plug-in
Hold: freeze a particle in place (use this feature temporarily to
move particles individually while in “Edit” mode)
Track: print the position of this particle during the simulation
Changes to a particle will take effect on all instances of
the structure containing that particle
Springs
While not in “Edit” mode, any two particles in the system
can be specified to be connected by a permanent spring
The “Weld” function will attach all pairs of particles of two
structure instances by a spring, if they are within the
specified distance
This feature can be used to build a large object from
many smaller structures
For example, flat squares of 5x5 particles can be placed side by
side and welded into a large sheet
Boundary Conditions
The size of the simulation volume can be specified using
the “World” values
In “Edit” mode, these values represent the size of the structure
Boundary conditions (what happens at the edges of the
world) can be specified for each dimension
Periodic: particles wrap to the other side of the world, simulating
an infinite system
Soft Walls: particles are repelled using a adaptive soft force
which behaves like a physical surface (including dissipative and
random components) and prevents layering
Hard Walls: particles are instantly reflected (velocity component
reversed) upon reaching the edge of the simulation
Time
The time-step of the simulation is the amount of time that
elapses during one iteration of Newton’s equations of
motion (one simulation step)
The default value of 0.02 is acceptable for most cases
A lower value will increase interaction stability and accuracy
A higher value will allow the simulation to progress through time
at a faster pace
The number of steps in the simulation and the frequency
at which particle data is output to disk are set by the
following “Frames” and “Output Every” values
Physical Parameters
Background water adds a static uniform fluid to the entire
simulation
This mean-field approach is used as a high-performance
alternative to filling the system with a high density of water
particles
The temperature is used to control the random force of
particle interactions (and background water)
Gravity enables a constant downward force on all
particles
Custom Plug-ins
A custom plug-in specific to each system can be
included to add infinite possibilities to your simulation
Plug-in code must be written in C and will be compiled
into the simulation server when it is created
A number of tools are provided which easily add specific
functionality to the plug-ins (water pump, 3D mesh, etc.)
Saving Your Project
To re-open your system for editing at a later time, you
must save the project to disk
The “Save” button will allow you to create a “.prj” file
storing all of your simulation parameters and settings
The “Open” button will prompt you to select a “.prj” file
which will load your system into Fluidix
Executing the Simulation
When your system is ready, clicking the “Export
Simulation” button will create an executable program
Running this program will start the simulation server
Many clients can connect to this server and help
simulate your system in parallel
Use the “Run Now” checkbox to automatically run the
server and connect one client on the local computer
Visualization
The “Analyzer” section operates independently of the
rest of the program
Output from any simulation can be opened for viewing
while any project is open or any server/client is running
Opening Output Data
1) Choose a “.sim” file containing simulation information
This step is optional; without this file advanced information about
your simulation will not be available
After “Export Simulation,” this file is opened automatically
2) Select a “Frame Sequence”
This is a folder containing your output files from each step
After “Export Simulation,” the folder is selected; just click “Open”
Appearance
Select a particle type from the “Particles” list to change
the way those particles are displayed
Using “Show,” particles can be represented as spheres, points, or
not at all
Set “Radius” to change the displayed size of spheres or points
Use “Display Every” to show only a some of a high density of
particles
Use the “Springs” tab to choose which sets of springs
should be displayed
Sometimes it is convenient to show only the springs of a polymer
while completely hiding the particles
Dynamics
Using the control buttons, the sequence of output frames
can be viewed intuitively
While a simulation is running, using “Play” without the
“Loop” option will cause each output frame to be
displayed as soon as it is created
Use the “Output .gif” option to write an animation to disk
Viewing a Specific Area
Using the “Selected Volume” values, a certain area of
the simulation can be isolated for easy viewing
For example: a cross section of a dense fluid
This tool also selects which particles are included in the
data analysis
Basic Analysis
Viewing a number of useful plots is as easy as clicking
the appropriate checkbox
Only a subset of the particles in the system are used
Particle types which are displayed with “Spheres” or “Points”
Particles that are within the “Selected Volume”
Use “Play” to see how the plot changes dynamically
Advanced Analysis
A custom analysis function can be written in C and
executed on the simulation data
Particles in the “Selected Volume” can be identified as well
Output data can be opened and viewed as a plot on the
display window
If time is the x-axis, the current simulation time will be identified
on the graph