WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
CompositeWindModel.h
Go to the documentation of this file.
1
2/******************************************************************************
3* Copyright (c) ATTX INC 2025. All Rights Reserved.
4*
5* This software and associated documentation (the "Software") are the
6* proprietary and confidential information of ATTX, INC. The Software is
7* furnished under a license agreement between ATTX and the user organization
8* and may be used or copied only in accordance with the terms of the agreement.
9* Refer to 'license/attx_license.adoc' for standard license terms.
10*
11* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
12* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
13* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
14* transmitted in any form or by any means, for any purpose, without the express
15* written permission of ATTX, INC.
16******************************************************************************/
17/*
18Composite wind model header file
19
20Author: James Tabony
21*/
22/*
23Metadata for MS GUI:
24imdata = {"exclude" : True}
25*/
26
27#ifndef MODELS_ENVIRONMENT_COMPOSITE_WIND_MODEL_H
28#define MODELS_ENVIRONMENT_COMPOSITE_WIND_MODEL_H
29
30#include "simulation/Model.h"
31
32namespace warptwin {
33
47 MODEL(CompositeWindModel)
48 public:
49 // Model params
50 // NAME TYPE DEFAULT VALUE
53 SIGNAL(mean_wind_frame, Frame*, nullptr)
55 SIGNAL(gust_wind_frame, Frame*, nullptr)
61 SIGNAL(dist_wind_frame, Frame*, nullptr)
63 SIGNAL(comp_wind_frame, Frame*, nullptr)
65
66 // Model inputs
67 // NAME TYPE DEFAULT VALUE
71 SIGNAL(mean_wind_vec, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
74 SIGNAL(gust_wind_vec, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
77 SIGNAL(dist_wind_vec, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
79
80 // Model outputs
81 // NAME TYPE DEFAULT VALUE
85 SIGNAL(comp_wind_vec, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
87
88 protected:
89 int16 start() override;
90 int16 execute() override;
91
94
99
102
105 };
106
107}
108
109#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
Class defining a direction cosine matrix inherited from Matrix.
Definition DCM.h:69
Frame class definition.
Definition Frame.h:96
#define CartesianVector3
Definition mathmacros.h:43
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
double _mean_wind_rot_angle
Internal variable for the mean wind frame rotation angle.
Definition CompositeWindModel.h:104
int16 start() override
Class to execute logging.
SIGNAL(_mu, double, warpos::earth_wgs84.mu)
CartesianVector3 _mean_wind__comp
Internal variables for rotated vectors.
Definition CompositeWindModel.h:96
CartesianVector3 _dist_wind__comp
Definition CompositeWindModel.h:97
void _configureInternal()
Function to configure sensor – runs in all constructors.
clockwerk::DCM _DCM_directMeanWindFrame_to_meanWindFrame
Internal variable for the rotation from the direct mean wind frame to the mean wind vector representa...
Definition CompositeWindModel.h:101
@ MODEL
Simplified dynamics model representing motion in the circular restricted 3 body problem.
Definition ImNode.h:31
CartesianVector3 _gust_wind__comp
Definition CompositeWindModel.h:98
int16 execute() override
Function to check monitor input conditions and set trigger flag accordingly. Should be implemented in...