Set Remoting property to IPC Auto to run components out of process
 

Compositions

A composition is a collection of components linked together.  Pipistrelle is the FluidEarth application used to manage and run compositions. Each composition is stored by Pipistrelle in a file with a .chi extension. 

You build a composition in Pipistrelle by selecting the appropriate .OMI files for the components you wish to add. You then link the components together by connecting the inputs of one component to the outputs of another and specifying the various arguments required to run your whole composition (including the time horizon where necessary).

Components in a composition may be considered as providers of data to other components and / or consumers of data from other components; so if you want component P to send output to component Q,  then Q is said to be a "consumer" of P and P is said to be a "provider" to Q.   A given component may be, simultaneously, both a consumer and a provider.

A connection between components is referred to as a linkage.

Any component may have multiple linkages connecting it to other components.  In our example above, P and Q may both provide data to and consume data from each other.

Components are typically provided to the end user in a library - in this tutorial we build a component libary as a dynamic link library (DLL) although the provision may be some other type of storage (a .EXE file for example).

Please note that if you have a composition which uses two instances of the same component (as we do in these examples) and your component is based on an unmanaged native language like FORTRAN, then you must set the Remoting property of each instance of the component to run out of process (ie set the value to ipcAuto). (Please note: this video caters for a number of different versions of Pipistrelle with very slightly different interfaces.  Although certain details may vary this will make no material difference to what you are doing). Click to view instructions on how to set the Remoting property on multiple instances of the same component to run with the IPC Auto protocol

The section on Compositions is divided, as the development language tutorials, into two parts.

  • Part I - deals with building simple compositions with the simple version of our Pond component and a simple Adapter
  • Part II - deals with some of the more complex aspects of building compositions with our more complex two dimensional Pond and a more complex Adapter.