WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
FlatPlateDragModel.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/*
17Flat plate drag model header file
18
19Author: Alex Reynolds
20*/
21/*
22Metadata for MS GUI:
23imdata = {"displayname" : "Flat Plate Aero. Drag",
24 "exclude" : False,
25 "category" : "Dynamics"
26}
27aliases = {"cd" : "Drag Coefficient",
28 "area" : "S.C. Frontal Area",
29 "density" : "Atmos. Density",
30 "wind_velo__f" : "Velo. WRT Wind",
31 "body_mass" : "Spacecraft Mass",
32 "drag_force__f" : "Drag Force"
33}
34*/
35
36#ifndef MODELS_ACTUATORS_FLAT_PLATE_DRAG_MODEL_H
37#define MODELS_ACTUATORS_FLAT_PLATE_DRAG_MODEL_H
38
39#include "simulation/Model.h"
40#include "frames/Frame.h"
41#include "frames/Node.h"
42#include "frames/frameutils.h"
43
44namespace warptwin {
45
49 MODEL(FlatPlateDragModel)
50 public:
51 // Model params
52 // NAME TYPE DEFAULT VALUE
55 SIGNAL(cd, double, 1.0)
57
58 // Model inputs
59 // NAME TYPE DEFAULT VALUE
63 SIGNAL(area, double, 1.0)
65 SIGNAL(density, double, 0.0)
68 SIGNAL(wind_velo__f, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
70
71 // Model outputs
72 // NAME TYPE DEFAULT VALUE
76 SIGNAL(drag_force__f, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
78
79 protected:
80 int16 execute() override;
81 };
82
83}
84
85#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
#define CartesianVector3
Definition mathmacros.h:43
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
SIGNAL(_mu, double, warpos::earth_wgs84.mu)
@ MODEL
Simplified dynamics model representing motion in the circular restricted 3 body problem.
Definition ImNode.h:31
int16 execute() override
Function to check monitor input conditions and set trigger flag accordingly. Should be implemented in...