Key Concepts of our application
To really understand the framework we first try to break down the problem that it is intended to solve and assist developers with. Let’s examine how physicists typically breakdown this problem.
Problem Statement – To solve a physical problem that can be numerically simulated.
Physics Modeling Of The Dam-Break Problem
We give an example how to program a physics simulator using our programming environment or framework (Simulation System). The sample application is setup to simulate wave propagation (nonlinear flow with shocks) in the so-called dam break problem in a horizontal channel without friction under Newton’s Law of Gravity.
The Cookbook Recipes
The following steps outline how to develop a physics simulator using the Framework.
- Create a Physical Simulator by sub-classing the appropriate system object
- Provide an implementation for IPhysicalConfiguration
- Provide an implementation for IPhysicalAlgorithm
- Provide an implementation for IPhysicalMeasurement
- A Data Source to store physical measurement information
- If specified, a Final Report for statistic, visualizing the solution, etc…
Â This is expressed by the following diagram below:
If you notice, the x, y and z components are not defined like the manning and other components have been? The reason is because the CartesionObject parent class provides them. This illustrates the power of a property known as inheritance in Object Oriented languages. Since SectionFlow extends CartesianObject, it can access the instance variables and methods defined in CartesianObject. This also illustrates the power of the Framework in that many of these types of capabilities are provided by it so you don’t have to code it.The first class that needs to be developed is an implementation of the PhysicalObject that extends CartesianObject. The SectionFlow class does this in the sample application.