Tell user where discontinuity exists in body tube

This commit is contained in:
JoePfeiffer 2022-11-16 09:36:48 -07:00
parent 9595c2b8a7
commit 7c57c272fb
12 changed files with 16 additions and 27 deletions

View File

@ -1829,7 +1829,7 @@ PlotConfiguration.Groundtrack = Ground track
! Warning
Warning.LargeAOA.str1 = Large angle of attack encountered.
Warning.LargeAOA.str2 = Large angle of attack encountered (
Warning.DISCONTINUITY = Discontinuity in rocket body diameter.
Warning.DISCONTINUITY = Discontinuity in rocket body diameter
Warning.THICK_FIN = Thick fins may not be modeled accurately.
Warning.JAGGED_EDGED_FIN = Jagged-edged fin predictions may be inaccurate.
Warning.LISTENERS_AFFECTED = Listeners modified the flight simulation

View File

@ -1315,7 +1315,7 @@ PlotConfiguration.Simulationtime = Simulacn
! Warning
Warning.LargeAOA.str1 = Velký úhel nábehu.
Warning.LargeAOA.str2 = Velký úhel nábehu (
Warning.DISCONTINUITY = Nespojitost v prumeru tela rakety.
Warning.DISCONTINUITY = Nespojitost v prumeru tela rakety
Warning.THICK_FIN = Tlou\u0161tka stabilizátoru se nemu\u017Ee modelovat presne.
Warning.JAGGED_EDGED_FIN = Zubaté hrany stabilizátoru mohou být vypocteny nepresne.
Warning.LISTENERS_AFFECTED = Listeners modified the flight simulation

View File

@ -1225,7 +1225,7 @@ TrapezoidFinSetCfg.tab.Generalproperties = Propiedades generales
! TubeCoupler
TubeCoupler.TubeCoupler = Acoplador
Warning.DISCONTINUITY = Discontinuidad en el di\u00e1metro del fuselaje.
Warning.DISCONTINUITY = Discontinuidad en el di\u00e1metro del fuselaje
Warning.FILE_INVALID_PARAMETER = Par\u00e1metro encontrado no v\u00e1lido, ignorado.
Warning.JAGGED_EDGED_FIN = El perfil afilado de las aletas puede ser inexacto.
Warning.LISTENERS_AFFECTED = Las Extensiones se ejecutaron con la simulaci\u00f3n del vuelo

View File

@ -1219,7 +1219,7 @@ TrapezoidFinSetCfg.tab.Generalproperties = Propri\u00E9t\u00E9s g\u00E9n\u00E9ra
! TubeCoupler
TubeCoupler.TubeCoupler = Coupleur de tube
Warning.DISCONTINUITY = Discontinuit\u00E9 dans le diam\u00E8tre du corps de la fus\u00E9e.
Warning.DISCONTINUITY = Discontinuit\u00E9 dans le diam\u00E8tre du corps de la fus\u00E9e
Warning.FILE_INVALID_PARAMETER = Param\u00E8tre invalide rencontr\u00E9, ignorer.
Warning.JAGGED_EDGED_FIN = Des ailerons aux bords irr\u00E9guliers ne seront pas mod\u00E9lis\u00E9s correctement.
Warning.LISTENERS_AFFECTED = Les \u00E9couteurs ont modifi\u00E9 la simulation de vol

View File

@ -1379,7 +1379,7 @@ PlotConfiguration.Simulationtime = Intervallo temporale della simulazione e temp
! Warning
Warning.LargeAOA.str1 = Incontrato grande angolo d'attacco.
Warning.LargeAOA.str2 = Incontrato grande angolo d'attacco (
Warning.DISCONTINUITY = Discontinuita' nel diametro del tubo del corpo.
Warning.DISCONTINUITY = Discontinuita' nel diametro del tubo del corpo
Warning.THICK_FIN = Le pinne sottili potrebbero non essere modellate in modo accurato.
Warning.JAGGED_EDGED_FIN = Jagged-edged fin Le predizioni per le pinne potrebbero non essere accurate.
Warning.LISTENERS_AFFECTED = Gli osservatori possono modificare le condizioni di simulazione

View File

@ -1688,7 +1688,7 @@ PlotConfiguration.Groundtrack = Grondspoor
! Warning
Warning.LargeAOA.str1 = Grote invalshoek aangetroffen.
Warning.LargeAOA.str2 = Grote invalshoek aangetroffen (
Warning.DISCONTINUITY = Discontinuïteit in raketromp diameter.
Warning.DISCONTINUITY = Discontinuïteit in raketromp diameter
Warning.THICK_FIN = Dikke vinnen worden mogelijk niet nauwkeurig gemodelleerd.
Warning.JAGGED_EDGED_FIN = De voorspellingen van gekartelde vinnen kunnen onnauwkeurig zijn.
Warning.LISTENERS_AFFECTED = Luisteraars veranderden de vluchtsimulatie

View File

@ -1319,7 +1319,7 @@ update.dlg.latestVersion = Korzystasz z najnowszej wersji OpenRocket: %s.
! Warning
Warning.LargeAOA.str1 = Wyst\u0105pi\u0142 du\u017Cy k\u0105t natarcia.
Warning.LargeAOA.str2 = Wyst\u0105pi\u0142 du\u017Cy k\u0105t natarcia (
Warning.DISCONTINUITY = Nieci\u0105g\u0142o\u015B\u0107 \u015Brednicy rakiety.
Warning.DISCONTINUITY = Nieci\u0105g\u0142o\u015B\u0107 \u015Brednicy rakiety
Warning.THICK_FIN = Grube stateczniki mog\u0105 nie by\u0107 modelowane dok\u0142adnie.
Warning.JAGGED_EDGED_FIN = Stateczniki o nieregularnych kraw\u0119dziach mog\u0105 zmniejszy\u0107 dok\u0142adno\u015B\u0107 prognoz.
Warning.LISTENERS_AFFECTED = Detektory zmodyfikowa\u0142y symulacj\u0119 lotu

View File

@ -1182,7 +1182,7 @@ TrapezoidFinSetCfg.tab.Generalproperties = Propriedades gerais
# TubeCoupler
TubeCoupler.TubeCoupler = Acoplador de tubo
Warning.DISCONTINUITY = Descontinuidade no di\u00e2metro do corpo do foguete.
Warning.DISCONTINUITY = Descontinuidade no di\u00e2metro do corpo do foguete
Warning.FILE_INVALID_PARAMETER = Par\u00e2metro inv\u00e1lido encontrado, ignorando.
Warning.JAGGED_EDGED_FIN = Previs\u00f5es com aletas de bordo irregular podem ser imprecisos.
Warning.LISTENERS_AFFECTED = Observador modificou a simula\u00e7\u00e3o de voo

View File

@ -1535,7 +1535,7 @@ PlotConfiguration.Simulationtime = Simulation time step and computation time
! Warning
Warning.LargeAOA.str1 = Large angle of attack encountered.
Warning.LargeAOA.str2 = Large angle of attack encountered (
Warning.DISCONTINUITY = Discontinuity in rocket body diameter.
Warning.DISCONTINUITY = Discontinuity in rocket body diameter
Warning.THICK_FIN = Thick fins may not be modeled accurately.
Warning.JAGGED_EDGED_FIN = Jagged-edged fin predictions may be inaccurate.
Warning.LISTENERS_AFFECTED = Listeners modified the flight simulation

View File

@ -1299,7 +1299,7 @@ TubeFinSetCfg.lbl.Outerdiam = \u5916\u76F4\u5F84:
TubeFinSetCfg.lbl.Thickness = \u539A\u5EA6:
TubeFinSetCfg.lbl.ttip.Finrotation = \u7A33\u5B9A\u7FFC\u7EC4\u5408\u91CC\u7B2C\u4E00\u7247\u7684\u89D2\u5EA6
Warning.DISCONTINUITY = \u7BAD\u4F53\u76F4\u5F84\u4E0D\u8FDE\u7EED.
Warning.DISCONTINUITY = \u7BAD\u4F53\u76F4\u5F84\u4E0D\u8FDE\u7EED
Warning.FILE_INVALID_PARAMETER = \u65E0\u6548\u53C2\u6570, \u5FFD\u7565.
Warning.JAGGED_EDGED_FIN = \u952F\u9F7F\u7FFC\u9884\u6D4B\u53EF\u80FD\u4E0D\u51C6\u786E.
Warning.LISTENERS_AFFECTED = \u76D1\u542C\u5668\u4FEE\u6539\u4E86\u98DE\u884C\u4EFF\u771F

View File

@ -67,6 +67,4 @@ public interface AerodynamicCalculator extends Monitorable {
* @return a new, independent instance of this aerodynamic calculator type
*/
public AerodynamicCalculator newInstance();
public boolean isContinuous(FlightConfiguration configuration, final Rocket rkt);
}

View File

@ -252,9 +252,7 @@ public class BarrowmanCalculator extends AbstractAerodynamicCalculator {
if (calcMap == null)
buildCalcMap(configuration);
if (!isContinuous(configuration, configuration.getRocket())){
warnings.add( Warning.DIAMETER_DISCONTINUITY);
}
testIsContinuous(configuration, configuration.getRocket(), warnings);
final InstanceMap imap = configuration.getActiveInstances();
@ -277,12 +275,7 @@ public class BarrowmanCalculator extends AbstractAerodynamicCalculator {
return assemblyForces;
}
@Override
public boolean isContinuous(FlightConfiguration configuration, final Rocket rkt){
return testIsContinuous(configuration, rkt);
}
private boolean testIsContinuous(FlightConfiguration configuration, final RocketComponent treeRoot ){
private void testIsContinuous(FlightConfiguration configuration, final RocketComponent treeRoot, WarningSet warnings ){
Queue<RocketComponent> queue = new LinkedList<>();
for (RocketComponent child : treeRoot.getChildren()) {
// Ignore inactive stages
@ -292,9 +285,8 @@ public class BarrowmanCalculator extends AbstractAerodynamicCalculator {
queue.add(child);
}
boolean isContinuous = true;
SymmetricComponent prevComp = null;
while((isContinuous)&&( null != queue.peek())){
while(null != queue.peek()) {
RocketComponent comp = queue.poll();
if( comp instanceof SymmetricComponent ){
for (RocketComponent child : comp.getChildren()) {
@ -313,7 +305,7 @@ public class BarrowmanCalculator extends AbstractAerodynamicCalculator {
// Check for radius discontinuity
if ( !MathUtil.equals(sym.getForeRadius(), prevComp.getAftRadius())) {
isContinuous = false;
warnings.add( Warning.DIAMETER_DISCONTINUITY, sym + ", " + prevComp);
}
// double x = component.toAbsolute(Coordinate.NUL)[0].x;
@ -327,11 +319,10 @@ public class BarrowmanCalculator extends AbstractAerodynamicCalculator {
prevComp = sym;
}else if( comp instanceof ComponentAssembly ){
isContinuous &= testIsContinuous(configuration, comp);
testIsContinuous(configuration, comp, warnings);
}
}
return isContinuous;
}