Learning Fluid Simulation

Be it designing, analysis visualisation is a big part of engineering discipline. Such is it’s important that entire industries are based on providing physics based softwares.

But now we have a new toolkit to understand the complex behaviours of fluids and other. Neural networks are able to learn the patterns of smoke simulation etc without any pde’s. This is going to be a huge step in the industry.

Watch the video.

Can’t wait to see this technology to come to production.

Advertisements

Sad Dog and lonely boat

For me 2011 was similar to 2017. Back then I rekindled my painting and did few paintings for some weeks. All those paintings are long gone but I remember few of them because they have survived as Facebook posts.

So here are few more that I did last month.

Using HDF5 lib with Visual Studio

During October last year, my work involved using HDF library with FORTRAN and C and use them to store mounds of data other systems were generating.

The first step was to use the library with visual studio 2008 in windows. Companywide HDF5 had many users in Linux cluster but no formal implementation was available to use in visual studio. While that made the library available but building, a program using them in visual studio was a different matter. I faced couple of issues and with much googling and stack overflowing, solved them, here is the running note I took for one of the issue, just in case someone else is in the same situation.

Hope this helps.

1>libhdf5.lib(H5I.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5D.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5F.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5S.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

From: https://social.msdn.microsoft.com/Forums/vstudio/en-US/af6796af-a1bf-4904-9923-15101956d882/linking-error-with-vc9-error-lnk2001-unresolved-external-symbol-forcecrtmanifestcur?forum=vcgeneral

  • The various header files associated with the visual C++ runtime embed a number of directives into the compiled code. This power used to be used for good: appropriate #pragma’s could ensure that the resulting .lib file automatically had a dependency on the correct runtime libraries.

    However, a kind of dependency ____ comes about when one tries to mix projects built with different build settings in the same version of dev studio, and becomes even worse when pre-built libs made by another version of Dev Studio are used.

    The best thing to do, frankly, would be to rebuild your .libs in the same version of Dev Studio. There are some project settings that can be used when building a .lib that can ‘sanitize it’ a bit and make it’s use more compatible with different versions of dev studio – libraries should generally be built with the multi threaded runtime selected (NOT the DLL runtime) and the option “Omit Default Library Names” selected.

    In this case, __forceCRTManifestCUR, is a result of a #pragma comment(linker, “/INCLUDE=__forceCRTManifestCUR”) directive in one of the c-runtime header files.

    You can work around this by simply including a like like this in your main.cpp file:

    int __forceCRTManifestCUR=0;

    Doing this will “defeat” an attempt by the headers to get a manifest dependency to the “current” version of the CRT dlls embedded – but don’t worry – the correct CRT manifest is already specified correctly using a different mechanism, so you can generally quite safely define this symbol (by declaring it as an int or anything really) without causing any problems for the project.

Books in 2017

In 2016, I read close to 75 books. In 2017, the goal was to read half that much and I managed to do more.  Thanks to the 3 mile daily commute to office.  Don’t  know about the waistline, but brain really did get some exercise during those walks. I love these walks. This is one thing will miss the most when I get back.

Here’s the list of books. More latter

  • A field guide to lies by Daniel J Levinit
  • Messy by Tim Harford
  • Proof-The science of Booze by Adam Rogers
  • Everything Is Bullshit: The greatest scams on Earth revealed by Priceonomics
  • Grit by Angela Duckworth
  • Made in America by Sam Walton
  • The little book of common sense investing By John C Boggle
  • Why Nations Fail by Daron Acemoglu
  • The Magic of Reality by Richard Dawkins
  • A Mind For Numbers by Barbara Oakley
  • Your inner fish by Neil Shubin
  • The theory that would not die by Sharon Bertsch Mcgrayne
  • Pre suation by Robert Chaildini
  • Genghis Khan and the Making of the Modern World by Jack Weatherford
  • The dance of the possible by Scot Berkun
  • Margin of safety by Seth Klarman
  • Unweaving the rainbow by Richard Dawkins
  • The Wisest One in the Room by Thomas Gilovich and Lee Ross
  • Glow Kids by Nicholas Kardaras
  • The Agile Gene by Mat Ridley
  • The Master Algorithm by Pedro Domingos
  • Think Simple by Ken Segall
  • Mindwise By Nicholas Epley
  • Think, act and invest like Warren buffet by Larry Swedroe
  • Ignorance by Stuart Firestein
  • The world is flat by Thomad Friedman
  • How we got to now by Steven Johnson
  • The Little Book of String Theory by Steven Scott Gubser
  • A million years in a day by Greg Jenner
  • Superforecastors by Philip E Tetlock
  • Infinitesimal by Amir Alexander
  • Brain briefs by Mat Markman
  • Wining the brain game by Mathew E May
  • Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian
  • Fooled by Randomness by Nassim Nicholas Taleb
  • Everybody Lies by Seth Stephens-Davidowitz
  • Attention Merchants by  Tim su
  • The undoing project by Michael Lewis
  • Super crunchers by Ian Ayres [A]
  • Idiot brain by Dean Burnet
  • Guns, Germs, and Steel by Jared Diamond
  • Sex at dawn by Christopher Ryan
  • The checklist manifesto by Atul Gawande
  • Every data by John H. Johnson, and Mike Gluck
  • How the Zebra Got Its Stripes by Leo Grasset
  • The man who knew infinity by Robert Kanigel
  • Vertical by Stephen Graham
  • Everything bad is good for you by Steven Johnson
  • The Martian by Andy Weir
  • Money machine by Gary Smith
  • The most human human by Brain Christian
  • Predictably irrational by Dan Airely
  • Wonderland by Stephen Johnson
  • A fortunate universe by Geraint Lewis
  • Damned lies and statistics by Joel Best
  • Origin by Dan Brown
  • Payoff: The Hidden Logic That Shapes Our Motivations by Dan Ariely
  • Emergence by Stephen Johnson
  • Unlucky 13 by James Patterson
  • 50 things that shaped the modern economy by Tim Hartford
  • Teaching Kids to Think by Darlene Sweetland
  • Tao of Charlie by David Clark
  • Money the unauthorised biography by Felix Martin
  • Barking at the wrong tree by Eric Barker
  • A History of the World in Sixteen Ship wreck – Stewart Gordon
  • The power of moments by Dan and Chip Heath
  • The stone rose by Jacqueline Rayner [P]

What in Uncertainty Quantification?

“If a man will begin with certainties, he shall end in doubts;
but if he will be content to begin with doubts, he shall end in certainties.” – F. Bacon – 1605.
The availability of powerful computational resources and general purpose numerical algorithms creates increasing opportunities to attempt simulations in complex systems. How accurate are the resulting predictions? Are the mathematical and physical models correct? Do we have sufficient information to define relevant operating conditions? In general, how can we establish error bars on the results?
 
error_bars
Uncertainty Quantification (UQ) aims at developing rigorous methods to characterize the impact of limited knowledge on quantities of interest. At the interface between physics, mathematics, probability and optimization, and although quite mature in the experimental community, UQ efforts are in their infancy in computational science.
Proud to be part of this. Hope to continue to work with it.

HDF5 lib from Visual Studio

During October last year, my work involved using HDF library with FORTRAN and C and use them to store mounds of data other systems were generating.

The first step was to use the library with visual studio 2008 in windows. Companywide HDF5 had many users in Linux cluster but no formal implementation was available to use in visual studio. While that made the library available but building, a program using them in visual studio was a different matter. I faced couple of issues and with much googling and stack overflowing, solved them, here is a running note I took for one of the issue, just in case someone else is in the same situation.

Hope this helps.

1>libhdf5.lib(H5I.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5D.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5F.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

1>libhdf5.lib(H5S.c.obj) : error LNK2001: unresolved external symbol _forceCRTManifestCUR

From: https://social.msdn.microsoft.com/Forums/vstudio/en-US/af6796af-a1bf-4904-9923-15101956d882/linking-error-with-vc9-error-lnk2001-unresolved-external-symbol-forcecrtmanifestcur?forum=vcgeneral

  • The various header files associated with the visual C++ runtime embed a number of directives into the compiled code. This power used to be used for good: appropriate #pragma’s could ensure that the resulting .lib file automatically had a dependency on the correct runtime libraries.

    However, a kind of dependency ____ comes about when one tries to mix projects built with different build settings in the same version of dev studio, and becomes even worse when pre-built libs made by another version of Dev Studio are used.

    The best thing to do, frankly, would be to rebuild your .libs in the same version of Dev Studio. There are some project settings that can be used when building a .lib that can ‘sanitize it’ a bit and make it’s use more compatible with different versions of dev studio – libraries should generally be built with the multi threaded runtime selected (NOT the DLL runtime) and the option “Omit Default Library Names” selected.

    In this case, __forceCRTManifestCUR, is a result of a #pragma comment(linker, “/INCLUDE=__forceCRTManifestCUR”) directive in one of the c-runtime header files.

    You can work around this by simply including a like like this in your main.cpp file:

    int __forceCRTManifestCUR=0;

    Doing this will “defeat” an attempt by the headers to get a manifest dependency to the “current” version of the CRT dlls embedded – but don’t worry – the correct CRT manifest is already specified correctly using a different mechanism, so you can generally quite safely define this symbol (by declaring it as an int or anything really) without causing any problems for the project.