Skip to content
Snippets Groups Projects

ITASimulationScheduler

ITASimulationScheduler is a C++ library and application collection to run distributed acoustic simulations. It comes with scheduling features for real-time and sequential (offline) task procedures using threads and/or MPI.

Possible Filter Configs

Listed below are the possible filter configs with all their respective keys.

Common Keys are:

  • Name : The name by which the filter can be referred to.
  • Type : The type of filter to be used.
  • NextFilter : Name of the next filter to be evaluated after this filter. Multiple comma separated names are supported to created branches in the evaluation.
  • UsageMode : How the filter should be used: As a filter (0) or condition (1).
  • InvertCondition : In case the filter is used as a condition, the result can be inverted.
{

	"Filter0" : {
		"@Name" : "Unknown",
		"@Type" : "PerceptiveRotationFilter",
		"@NextFilter" : "",
		"@UsageMode" : 0,
		"@InvertCondition" : false,
		"@StrengthFactor" : 1
	},

	"Filter1" : {
		"@Name" : "Unknown",
		"@Type" : "RateFilter",
		"@NextFilter" : "",
		"@UsageMode" : 0,
		"@InvertCondition" : false,
		"@Rate" : 1
	},

	"Filter2" : {
		"@Name" : "Unknown",
		"@Type" : "DistanceFilter",
		"@NextFilter" : "",
		"@UsageMode" : 0,
		"@InvertCondition" : false,
		"@DistanceThreshold" : 5
	},

	"Filter3" : {
		"@Name" : "Unknown",
		"@Type" : "RotationFilter",
		"@NextFilter" : "",
		"@UsageMode" : 0,
		"@InvertCondition" : false,
		"@ReceiverThreshold" : 2.5,
		"@SourceThreshold" : 2.5,
		"@RotationMode" : 1
	},

	"Filter4" : {
		"@Name" : "Unknown",
		"@Type" : "TranslationFilter",
		"@NextFilter" : "",
		"@UsageMode" : 0,
		"@InvertCondition" : false,
		"@MinimumTranslation" : 5,
		"@TranslationMode" : 1
	},

	"Filter5" : {
		"@Name" : "Unknown",
		"@Type" : "ZoneFilter",
		"@NextFilter" : "",
		"@UsageMode" : 0,
		"@InvertCondition" : false,
		"Zones" : {
			"Zone0first" : [0, 0, 0],
			"Zone0second" : [1, 1, 1]
		}
	}

}

Adding Filters Or Workers

To add filters or worker to this project, derive your from the fitting interface class and add a corresponding config struct, also derived from the fitting interface config. In order to use the new filter or worker, it can be added to their corresponding factory class

  • at compile time by adding it to the map in the correspoding cpp file.
  • at run time by calling the register function of the factory.

License

Copyright 2019-2020 Institute of Technical Acoustics, RWTH Aachen University

Licensed under the Apache License, Version 2.0 (the "License"); you may not use files of this project except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Quick build guide

It is recommended to clone and follow the build guide of the parent project ITASuite, which includes this project as a submodule. To include RAVEN, access to the repository must be granted.