Any library for basic science chemistry/physics programming? [closed] - physics

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am wondering if there is an open source scientific library for chemistry and/or physics
for C++ (or maybe C)?
I am NOT looking for simulation models, visualization, 3-d modeling.
I am just looking for a basic toolbox that would have, for example: various constants such as Ideal Gas Constant, Avogadro constant, periodic table of the elements values; molecular weight calculation; maybe basic functions implementing equations for stoichiometry, gas laws, thermal dynamics, kinetics.
Chemistry/Physics 101 kind of stuff.
I have found on SourceForge:
Christoph Steinbeck's The Chemical Development Kit (Java) on SourceForge.
NIST-const

I would take a look at the GNU Scientific Library:
http://www.gnu.org/software/gsl/
It should have most of the physical constants you're looking for. As far as the chemistry related stuff, I don't know of any basic packages that do all of those calculations right out of the box.
Update:
I forgot about another project that would have all of the periodic table stuff (and probably more):
http://openbabel.org
specifically check out:
http://openbabel.org/api/2.2.0/classOpenBabel_1_1OBElementTable.shtml#_details

Since you excluded simulations, PyQuante probably isn't what you're looking for, but you might find kinpy and thermopy interesting.

I really like this book for it:
http://www.amazon.com/Physics-Game-Programmers-Grant-Palmer/dp/159059472X
I has the physics formulas in there and the source code is available online:
http://apress.com/book/view/159059472X
I haven't seen much in the way of chemistry. Physics is more popular because it has direct affect on gaming, of course. :-)
Update: a few on chemistry:
http://www.iupac.org/inchi/
http://code.google.com/p/simsoup/
http://gchemutils.nongnu.org/
http://www.simsoup.info/SimSoup/Design/Chemistry_Subsystem.html

Kalzium, part of the KDE tools. Periodic table plus (based on the screenshots) an equation solver and more.

In High Energy Physics, two common c++ libraries/frameworks are CLHEP and ROOT. Both of these contain units and physical constants - see e.g. CLHEP Units. CLHEP also contains a lot of libraries for linear algebra, while ROOT has a lot of tools for data analysis.
Probably not entirely what you are looking for, but may be useful to someone

Related

what is the best practice for app documentation? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Having worked for a couple of years in software development, I grew wondering how to effectively communicate at work as of nitty gritty details of UX, functionality changes, error reporting system, and so on.
I have worked for two small companies here in South Korea and found out communication is done only orally from the start to the end, and never had any habit of software documentation.
I think it’s very odd because meticulous planning and effective software management cannot be done with spoken communication only.
(Although, I think in some sense, it may be justified if a company is not big enough to handle the extra workload.)
So, recently, I am genuinely interested in written communication for software, trying to rekindle a little bit knowledge of software engineering that I learned at college.
I’m trying to teach myself how to visualise my work and practice documentation on my own in practical level.
So, my question would be
Do you know any free graphic tools that can help me draw diagrams or UML, or etc?
Also, It will be appreciated if you could talk about how you document your app for future refactoring and better management.
Thank you.
Also, It will be appreciated if you could talk about how you document your app for future refactoring and better management.
I think you need to read about Agile software development.
Manifesto for Agile Software Development
Make attention on the next point:
Working software over comprehensive documentation
In your situation this can be explained as software writed in "clean" and understandable way with suits of unit and acceptance tests will be more effective then writing static documentation and UML diagrams.
I found UML diagrams are good for designing components in the beginning(but usually had used white boards). Then all diagrams was thrown away after all needed unit, acceptance tests was created.
Regular code reviews are good dynamic tool for sharing best practices, code styles or other information about developing software. So while you sharing knowledge about your software between members regularly, information will stay up-to-date inside team.

Good books/resources on OMG Data distribution service? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I want to understand how exactly the OMG Data distribution service works and how it can be used for real time inter process communication with better performance.Please suggest me the best resources/books? i tried with Google and YouTube but could not able to get the exact DDS functionality related information and DDS implementation in real time.
The Data Distribution Service Portal at the OMG contains several tutorials contributed by the different vendors. See http://portals.omg.org/dds/tutorials these can be good references as they tend to focus on the standard features and less on vendor-specific details.
That said several of the vendors have created excellent tutorials. In addition to the one mentioned in the previous post I like the one by Twin Oaks Computing. The whole tutorial fits in one (long) HTML page with nice concept and figures: http://www.twinoakscomputing.com/coredx/dds_tour
For more in depth coverage I like the eLearning program from RTI (the company where I work) http://www.rti.com/elearning/index.html
Two of the modules that are available for free provide very good intro material on concepts and design patterns:
Introduction -- http://vimeo.com/user14186439/review/57448029/6138f1e5c1
Instances Samples and Data-Types -- http://vimeo.com/user14186439/review/61771143/d59ca69515
Also I would recommend the Case+Code (use-case) examples in the RTI Community Portal. They provide complete code examples illustrating how the different DDS APIs and QoS can be use to meet realistic use-cases. See http://community.rti.com/case-and-code
Gerardo
No books that I know of, but I like this paper...
http://www.slideshare.net/Angelo.Corsaro/the-data-distribution-service-tutorial
It guides you through some of the features of DDS and how you could utilize them by referring to a temperature sensor example.
If you want something more hands-on, there is an Open Source implementation of DDS at
http://www.prismtech.com/opensplice/opensplice-dds-community
which contains a set of examples and a lot of other documentation about the features and API.
Thanks
James

Decent tool for producing a glossary of technical terms [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm currently developing the front end of a new CMS for a digital streaming company, the main problem the project has is keeping track of the technical language that has sprung up around it.
It currently involves around 60 staff in four countries, aside from a wiki (which has thus far failed to be kept up-to-date), anyone have any good tools or tips for building and maintaining a glossary for a project like this?
aside from a wiki (which has thus far failed to be kept up-to-date)
This comment makes me pretty nervous about suggesting other solutions. Wiki's can come with their own problems, but keeping it up to date is not a problem inherent in the platform. It's a cultural or organizational problem. A wiki provides a very easy way to track and update data. If, today, you cannot keep it up to date, ask yourself how you will solve this problem if you change the tool?
Changing to another platform could solve things like: The wiki isn't scalable for that amount of data; we want to make controlled edits; we need to release in multiple languages; we need to release in other formats.
For the updating problem, try something simple to start, like assigning a dedicated team member to glossary maintenance. They don't have to be the only contributor, but if you have someone who is dedicated to paying some attention to this area you will have a much better chance of keeping things up to date.
In an untended garden, it's not the fault of the soil that you have no flowers.
DITA has a glossary specialization. You can maintain a central company glossary in it. In individual company documents, you create a mini glossary topic then use a content reference to pull any terms you need into your document.
It does sound more like a version control issue though.

Open Source ImageProcessing Library, SDK or API [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I am looking for an open source image processing libraries or APIs those provide me to create a program which captures the license plate of a car in a parking system and gives me the number plate as a text . It would be great if I can have it in managed code (c# or java).
Any help would be greatly appreciated.
Thanks in advance
There are no libraries that are going to explicitly give you the license plate from an image if the image is passed as an argument, at least open source. You have to use multiple functions within the library to transform, manipulate, and extract the information you want. This is considered a 'solved' problem within Computer Vision. If there were in fact an open source library to do what you want, I'm sure a lot of Companies selling LPR technologies would stop selling it because it wouldn't be economically feasible.
The other problems you will have is the vast difference in license plate designs and styles. Your algorithm will have to be tweaked and tweaked constantly for ever changing license plates. For instance, in the US, the State of Florida has hundreds of license plates. It has been stated in the past that performing LPR on Florida license plates is one of the most difficult tasks.
OpenCV is the closest you will get. However, you will need to understand Fourier transforms and other advanced mathematical algorithms to derive the information you want.
This esnips site has various zipped solutions that other people have come up with. Some may or may not work.
You can also take a look at this CodeProject article on Image Recognition with Neural Networks
if it was c++
imageMagicK for image processing (good)
openCV for video recording (fair)
Magick++ (http://www.imagemagick.org/Magick++/) is great for the job you want but it's in C++.
In the VM world there you can use the Java Advanced Imaging API LeadTools for jvm imaging. I don't
know any decent open source library in .NET but there is a Ruby port of Camellia if you are interested
in (http://camellia.sourceforge.net/).

How to write articles about software applications. Where to find free examples? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
A lot of you have starting to write programs since college or even earlier.
When you were on university the level of professionalism increased.
If you have to write an article about your software application how do you do it? I'm not talking about a documentation or help manual. I'm talking about an article/paper for academia world. Do you have any idea where can I find those type of articles for free?
This is also a programmer job, even we like to do it or not.
Here's one I made (much) earlier.
Abstract:
This paper presents details of the
Safety Argument Manager (SAM) a PC
based tool to support safety case
construction. SAM is novel in that it
stresses total system safety and is
designed to support an integrated
process for design and assessment. SAM
provides facilities for the
construction of high level safety
arguments and for building up complete
and consistent supporting evidence. In
this paper we focus on the achievement
of high quality supporting evidence,
by describing SAM's facilities for
integrated modeling and safety
assessment. We also illustrate the use
of SAM with a car braking system
example.
What it does, why it's novel, how it does it at a high level, small concrete example shown end-to-end.
Usually papers are rarely about software itself but rather about concepts, ideas and algorithms. Those are explored through software and the authors may give specific examples how they implemented those in their software but most papers are not specifically about a software application itself as those usually have very little valuable content.
There are only few of such papers I've come across so far:
SPRNG: a scalable library for pseudorandom number generation.
Presto: An Experimental Architecture for Fluid Interactive Document Spaces.
Other papers may follow which then concentrate on how specific optimizations or changes were implemented and also new ideas. But I think in those areas real innovation is rare and there is much more text than actual content.
Google Scholar is exceptionally useful for finding freely available academic publications, particularly in the CS/software world.
While many peer-reviewed journals hide things behind paywalls, academics have a tendency to publish working versions or drafts on their personal websites and such. You can find these using Google Scholar (by clicking the "See all X versions" link).