Solar Energy Survey

UPDATE!! Very simplified survey with far less questions and only check boxes (except for the country name)! very fast to fill! your help will be decisive for this project (if you have friends, you can tell them about this), and I will publish the results!

http://surveys.polldaddy.com/s/590F36F513B55ADE/

Here is also a petition to sign for the commercialisation of a small stirling engine vital for my project (I’ve contacted them for price ranges, no reply yet)

http://www.petitiononline.com/sp3e1234/petition.html

Hi, this is a friend of Farsthary.

I support (one of his sponsors) and help him manage the blog and I write from time to time documentation for you (cf. volumetric tutorial), and now he has exceptionally allowed me to use today his blog with many daily visitors because I need your help for a survey very important to me (I live in a small village, so I can hardly go and ask enough people in the street):

I am studying solar energy, and I have thought about a robust solar concentrator for household energy production: this will produce both heating and electricity, with temporary energy storage (a few hours) when the resource is not available anymore. The system will be secured and non-intrusive. This product will be easily removable (in case the house or the garden is not yours)

If you don’t mind, could you please take 2 mns to answer these questions as comments (just each letter with a few words)  and ask some friends about this, this would be a huge help for this project.

If you don’t have an answer for every question or if you don’t feel like typing, you can let some answers blank:  I’d rather have incomplete answers than no answers at all (moreover, the absence of answers at a question is also somehow an answer in a poll…)

1 ) country you live in?
2 ) very sunny? (you can also give an indication about the usual amount of cloudiness: every day, every weeks..)
3 ) available outdoor surface (square meters)
4 ) type: a) garden (%) b) roof (%)
5 ) how much of these surfaces are you ready to use for electric/heat production?
6 ) how do you roughly divide your energetic consumption between electronic devices, cooking and hot water?
7 ) peak consumption (kW)?
8 ) financing: a) you pay b) somebody else pay, but that person/establishment sells most of your electricity or consumes most of your heating during many years
9 ) how much of your energetic consumption do you want with renewable means (%)?
10) how much are you ready to pay for the product that suits your needs compared with standard photovoltaic panels for a similar electric consumption? (or how many years will you willingly let somebody else sell your electricity/heat?), the more the better your product is:
remember: this product will have differential advantage compared with photovoltaic, so even at the same price it cannot be put on a par
11 ) In case of the absence of the sun, how much time would you like the product to supply energy?
12 ) are your interested by an upgradeable, multipurpose product (water desalinization, organic waste valorization…)? you can give here your suggestions
13 ) how many people around you would you be interested by this kind of product according to you?
14 ) would you like to be contacted to be part of this adventure?

a BIG THANK in advance for those who will take some minutes to reply!  🙂

P.S: I will publish the results if I have enough feedbacks (about 50 answers in one month?)

Update (2 days later): the current participation rate is 0.3% (relative to the blog popularity), which is good if one considers that this article is out of subject.

Currently the user needs (big thank to those who have taken the time to reply!) and the possible characteristics of my idea relatively match (relative to the physical possibilities and prices ranges) but more answers are welcome to have statistics ideas!  🙂

Solar Energy Survey

OpenCL

Hi, this is a friend of Farsthary,

Some months ago, Farsthary was speaking about OpenCL, an open and multi-platform programming language (still maturing) that harnesses the computing power of all the available computing devices (cpu, recent graphic cards (ati, nvidia)…), allowing to have the power of a small cluster in a single computer.
Indeed, recent graphic cards allow general purpose computing instead of only graphical operations, and are perfectly suited for massively parallel operations..
If your program is not bound by memory transfers and capacities, you can expect a 5-10 folds speed-boost  (single precision) for a recent graphic card compared with a standard quad-core for roughly similar prices (around 100$) and power consumption (100-150W).
As this is only a matter of months before Farsthary begins to investigate this, here is a procedure for those who want to set up their environment to test OpenCL source codes. I will give you the one which works with my system (ubuntu 9.10 32 bits, Ati 4770) , will try to update for other systems latter:
* download and install the last catalyst drivers for OpenCL support: in the terminal:

sudo sh ./ati-driver-installer-10-2-x86.x86_64.run

..and follow the instructions

* download the last SDK kit (you must register before (free), you can also check there if your graphic card is an OpenCL device), extract it in your home directory (ex: /home/farsthary for him) and compile it (type “make” in the terminal once you are in the uncompress folder). Hence, you have the OpenCL libraries, but your system is not yet aware about this (so if you run OpenCL code, no devices will be detected). For that, you have to follow the installation notes (Win, OSX, linux)

For my system (32 bit):

export ATISTREAMSDKROOT=’~/ati-stream-sdk-v2.01-lnx32′

export ATISTREAMSDKSAMPLESROOT=’~/ati-stream-sdk-v2.01-lnx32′

export LD_LIBRARY_PATH=$ATISTREAMSDKROOT/lib/x86:$LD_LIBRARY_PATH

If you load an OpenCL program, it will look for the OpenCL libraries in the default system folder, so you will create symbolic links between these folder and your SDK folder with the libraries. First create appropriates folders:

sudo mkdir /usr/lib/OpenCL

sudo mkdir /usr/lib/OpenCL/vendors

Then create the link

sudo ln -sf ~/ati-stream-sdk-v2.01-lnx32/lib/x86/libatiocl32.so /usr/lib/OpenCL/vendors/libatiocl32.so

You can now test OpenCL samples, such as the didactic examples from the great David Bucciarelli (aka Dade, Luxrender developer). As an example, download SmallptGPU2 (for windows user, the executable is already  included), which is an unbiased raytracer example which uses all the available OpenCL devices. First, you need to install some additional libraries (BOOST Threads: look for and install libboost-thread1.40-dev in Synaptic). Then you must edit the Makefile: rewrite the path variable with yours:

ATISTREAMSDKROOT=/home/farsthary/ati-stream-sdk-v2.01-lnx32

..and rename the boost library (-lboost_thread-mt-1_38_0) by “-lboost_thread-mt) if the compilation fails.

.. and compile it (“make”) and lauch it (“./smallptGPU”): at start-up, the soft detect my OpenCL devices and their properties in order to share the computational load. In my case this prints:

OpenCL Platform 0: Advanced Micro Devices, Inc.
OpenCL Device name 0: AMD Phenom(tm) II X4 925 Processor
OpenCL Device type 0: TYPE_CPU
OpenCL Device units 0: 4
OpenCL Device name 1: ATI RV770
OpenCL Device type 1: TYPE_GPU
OpenCL Device units 1: 8

So two computing devices, and my graphic card (RV770 = ATI 4770) is equivalent in this case to an octocore processor (120 stream units per processor in this case)

If the CPU alone works (2.8 GHz) , around 840 samples (12 rays per sample) are performed per second

With only the graphic card (processors at 750 MHz (no memory limitations)), around 4500 samples/s. So this is as if I had 5 additional Phenom II 925 in my rig!

Here are examples of area of Blender which would quickly benefit from such a technology:

* physics, as most of the algorithms do massively repetitive tasks, perfectly suited for stream processors:

– Newtonian physics, SPH: the Bullet library created by Erwin Coumans and used in blender is currently rewritten to take advantage of OpenCL thank to the support from AMD.

– Smoke simulor: Daniel has told that he was interested in porting his implementation to OpenCL.

* Surface calculation: very fast subsurface modifier, useful for high quality animation previz (cf. checking for mesh intersection, expressions)

* Rendering of course, but this would require a lot of manpower for significant speed-up:

But don’t forget: good algorithms come first (cf. V-Ray outperforms many competitors who are on more powerful plateform), then hardware.

As a naive example, if you want to calculate the sum of the numbers from one to n, the naive algorithm uses a loop (more than n calculations), while the good algorithm is base on the math: n(n+1)/2 (a few calculations cf. Karl Gauss)).

regards

UPDATE1: for the windows version, just install the last Ati drivers and the sdk, and follow the foregoing mentioned installation note (the document explains the steps for all the different systems). If you want to compile everything on windows, the process is more tedious (not difficult, but more steps if you are not familiar about this) as you have to set up a lot of stuffs. You can look on google about mingw for linux-like compilation under window. However, the OpenCl example from Dade already contain the windows binary, so you don’t need to compile the program.  As long as you have the OpenCL drivers properly installed, you will be able to launch future OpenCL-tweaked build from Farsthary.

UPDATE2: I don’t have a configuration with nvidia card to test with, but here is the link with fresh drivers, SDK and informations.

OpenCL

A bug solved!

Thanks to the community feedback I fixed yesterday an initialization bug in my patch that was causing blender crashing on new particle systems when the emitters haven’t had previously assigned materials. I also changed a few things a bit to be more consistent with future changes 🙂

here’s the corrected patch:

..and also a new basic test file, this one shows a basic compact  fluid, play with it adding containers and such, just don’t forget to add collision options to the container similar to the floor 😉

Jahka will soon work on this and he’s already given green light to me, so the whole feature will be soon in trunk! Yay!!!!!! It’s very important to test this feature now before Jahka starts reviewing it so I could tune it to make his task easier and bug free 🙂

Here are the current builds:

* OSX (Intel) : Thanks Tkroo!

* Windows: Thanks David and Spacetug! 

Cheers  Farsthary

A bug solved!

Fluid Particles engine patch at last!

Hi all 🙂

Here’s at last the first public patch of the Particle Fluids engine , this means that this still doesn’t have particle surfacing included because it’s still a work in progress but the engine is pretty useful in its current state and particles can be rendered via splatting or using point density for more advanced volumetric particle effects (remember my pouring moss tests?) and finally you could use instanced particles to whatever you want , including metaballs, though those are not replacement for the upcoming particle mesh surface 😉

I just sent the patch to Jahka for his expert review and commit, and once integrated in its final GUI form Stephen and me could start writing down documentation of the many features it have.  I have included also two quick .blend test files to figure out of the settings

I love Open Source , I love blender and I fall in love with the Blender community 🙂 and since I have received a lot of help from you as Blendiac and WhifeOfBlendiac and ChildOfBlendiac will visit me soon what better present to give back to the community?

CORRECTED PATCH:

TEST BLENDS:  http://www.pasteall.org/blend/1959    and  http://www.pasteall.org/blend/1960

The main actors of this achievement are Stephen, Jahka and your servant: Farsthary

I will enjoy this part: Feedback

Cheers to all and THANKS!

PS: in the future the engine may change a bit because I’m researching ways to speed up simulations by data structures other than the kdtree currently used 😉

Fluid Particles engine patch at last!

Wispy smoke … welcome buoyancy

Hi all 🙂

While I was working on the visualization pipeline of the particle fluids I couldn’t resist the temptation that represent SPH gases:

I have looked everywhere and there’s very little information of that outside the scientific simulation community and Galaxy formation 😉

But since I knew it was possible (because gas and liquids share the Navier-Stokes equations) I always had in mind such effects.

The current Particle Fluids implementation have temperature states that could be used in more complex simulations and I have added an artificial buoyancy force that allows the simulation of wispy smokes and other gas particles 🙂

A new door of particle FX’s has been opened for Blender.

Wispy smoke (1000 particles)

wispy smoke (5000 particles)

Cheers  Farsthary

Wispy smoke … welcome buoyancy

Speed Boost :)

Hi all 🙂

I’m reaching production ready levels for the surfacing algorithm , it has already outperformed the instanced metaballs approach in orders of magnitude compared with my earliest raw implementation, just see it for yourself in the following videos

I want to point out that there is still plenty room for improvements and speed gains as currently there’s no cache implemented nor OpenGL VBO´s

hope you like it 😛

simple test scene

Previous implementation:

Current optimized implementation:

Cheers  Farsthary

Speed Boost :)