WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
SimpleMeanWindModel.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX, INC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX, INC.
15******************************************************************************/
16/*
17Simple mean wind model header file
18
19Author: James Tabony
20*/
21/*
22Metadata for MS GUI:
23imdata = {"exclude" : True}
24*/
25
26#ifndef MODELS_ENVIRONMENT_SIMPLE_MEAN_WIND_MODEL_H
27#define MODELS_ENVIRONMENT_SIMPLE_MEAN_WIND_MODEL_H
28
29#include "simulation/Model.h"
30#include "constants/unitutils.h"
32#include "utils/Interpolate2D.h"
33
34namespace warptwin {
35
53 MODEL(SimpleMeanWindModel)
54 public:
55 // Model params
56 // NAME TYPE DEFAULT VALUE
59 SIGNAL(wind_speed_ref, double, 25.0*warpos::FEET_TO_METERS)
62 SIGNAL(wind_azimuth_ref, double, 0.0)
64 SIGNAL(altitude_ref, double, 20.0*warpos::FEET_TO_METERS)
66 SIGNAL(altitude_surface, double, 0.0)
70 SIGNAL(wind_shear_exponent, double, 0.2)
73 SIGNAL(wind_direction_shift_max, double, 0.0)
75 SIGNAL(seed_value, int, 0)
77
78 // Model inputs
79 // NAME TYPE DEFAULT VALUE
82 SIGNAL(altitude, double, 0.0)
84
85 // Model outputs
86 // NAME TYPE DEFAULT VALUE
90 SIGNAL(wind_mean__NED, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
92
93 protected:
94 int16 start() override;
95 int16 execute() override;
96
98 void _configureInternal();
99
100 // Internal variable for the ordered image set of the vector shear function (see confluence)
101 std::vector<double> _image_set;
102
103 // Internal variable for true altitude, altitude relative to surface not WGS84 Ellipsoid
105
106 // Internal vairbale for wind azimuth and wind magnitude
107 double _azimuth;
109
110 // Internal model for generating a random number under a uniform distribution
112
113 // Internal model for linear interlopolation
115 };
116
117}
118
119#endif
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition appmacros.h:27
#define START_PARAMS
Definition appmacros.h:42
#define END_OUTPUTS
Definition appmacros.h:33
#define END_PARAMS
Definition appmacros.h:47
#define START_OUTPUTS
Definition appmacros.h:28
#define END_INPUTS
Definition appmacros.h:40
#define START_INPUTS
Definition appmacros.h:35
A class for performing simple x-y linear interpolation.
Definition Interpolate2D.h:50
Class to generate random numbers according to uniform distribution.
Definition UniformRandom.hpp:42
#define CartesianVector3
Definition mathmacros.h:43
const floating_point FEET_TO_METERS
Definition unitutils.h:62
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
Interpolate2D _interpolate2D_model
Definition SimpleDisturbanceWindModel.h:110
int16 start() override
Class to execute logging.
SIGNAL(_mu, double, warpos::earth_wgs84.mu)
double _altitude_true
Definition SimpleMeanWindModel.h:104
void _configureInternal()
Function to configure sensor – runs in all constructors.
double _azimuth
Definition SimpleMeanWindModel.h:107
@ MODEL
Simplified dynamics model representing motion in the circular restricted 3 body problem.
Definition ImNode.h:31
UniformRandom< double > _uniform_random
Definition SimpleMeanWindModel.h:111
double _magnitude
Definition SimpleMeanWindModel.h:108
int16 execute() override
Function to check monitor input conditions and set trigger flag accordingly. Should be implemented in...
std::vector< double > _image_set
Definition SimpleMeanWindModel.h:101