multiresolution_comm

multiresolution_comm … end_multiresolution_comm

As with other platform components, multiresolution_comm may be used outside of platform or platform_type commands to define new types, or inside those commands to instantiate an object on an instance of a platform or platform_type. When instantiating on a platform, a name is required. Usage is as follows:

  1. Define a new multiresolution_comm type (occurs outside a platform or platform_type command)

multiresolution_comm <derived> WSF_MULTIRESOLUTION_COMM

   fidelity <real-value>

   [add | edit] model <string-value>
      fidelity_range <real-value> <real-value>
      [default]
      comm [<comm-type>]
         ... comm-specific commands ...
      end_comm
   end_model

   [add | edit] model <string-value>
      ... Any number of models may be specified ...
   end_model

   common
      ... comm-specific commands ...
   end_common
end_multiresolution_comm
  1. Instantiate a multiresolution_comm object on a new platform_type:

platform_type ...
   multiresolution_comm <name> <type>
      ... multiresolution_comm commands ...
   end_multiresolution_comm
end_platform_type
  1. Instantiate a (not previously existing) multiresolution_comm object on a platform instance:

platform ...
   add multiresolution_comm <name> <type>
      ... multiresolution_comm commands ...
   end_multiresolution_comm
end_platform
  1. Modify an existing multiresolution_comm object on a platform instance:

platform ...
   edit multiresolution_comm <name> <type>
        ... multiresolution_comm commands ...
   end_multiresolution_comm
end_platform

Overview

multiresolution_comm defines a container for holding one or more comm objects on a platform and deferring the choice of which comm to use on the platform until run-time. The choice of comm is made using a fidelity parameter associated with the component. Each comm model defined in the container is assigned a fidelity_range over which it is valid, and the matching comm is set on the platform during initialization.

The fidelity_range inputs are used to categorize models into bins that are selected by the fidelity parameter. A typical use would be to set up a multiresolution_comm on a platform_type without specifying the fidelity, deferring that choice to the actual platform definition.

Note

In the future the fidelity choice is intended to be made available at alternate locations in a scenario file, which will improve the utility of this component.

Types

WSF_MULTIRESOLUTION_COMM

Commands

fidelity <real-value>

Defines the fidelity value of the component, which determines which comm to use at run-time. Must be between 0 and 1 inclusive. This value maps directly to the fidelity_range defined in the model commands. In other words, if two models are defined with the first having fidelity_range 0 to 0.5 and the second having 0.5 to 1, any fidelity between 0 and 0.5 (but exclusive of 0.5) will select the first model.

Default: 1.0

model <string-value> … end_model

Defines or edits a contained comm model with the name given by the string. Implicit adding (or editing if the named model exists) is supported along with explicit adding and editing with the add and edit commands.

Note

At least one model block must be specified.

fidelity_range <real-value> <real-value>

Defines the range of fidelity values over which this model should be used. Must be between 0 and 1 inclusive, in increasing order and must not overlap with another model’s fidelity_range on this component.

Default: 0.0 1.0

default

If specified, this model will be used as the default choice if no fidelity match is made.

comm <comm-type> … end_comm

Defines the comm model’s type and parameters specific to this model instantiation. The comm-type is required when first defining a new model, and must not be specified when editing an existing model.

common … end_common

Defines common parameters to forward to all currently specified comm models. These parameters must be valid for all currently defined comm models.