diff --git a/data/flight_plan/flight_plan_BLT.csv b/case/axial_optimization/jfh/flight_plan_BLT.csv similarity index 100% rename from data/flight_plan/flight_plan_BLT.csv rename to case/axial_optimization/jfh/flight_plan_BLT.csv diff --git a/data/jfh/jfh_blank.A b/case/axial_optimization/jfh/jfh_blank.A similarity index 100% rename from data/jfh/jfh_blank.A rename to case/axial_optimization/jfh/jfh_blank.A diff --git a/data/tcd/tcf_24_thrusters.txt b/case/axial_optimization/tcd/tcf_24_thrusters.txt similarity index 100% rename from data/tcd/tcf_24_thrusters.txt rename to case/axial_optimization/tcd/tcf_24_thrusters.txt diff --git a/data/tcd/tgf.ini b/case/axial_optimization/tcd/tgf.ini similarity index 100% rename from data/tcd/tgf.ini rename to case/axial_optimization/tcd/tgf.ini diff --git a/case/cant_optimization/jfh/flight_plan_BLT.csv b/case/cant_optimization/jfh/flight_plan_BLT.csv new file mode 100644 index 0000000..18ef01e --- /dev/null +++ b/case/cant_optimization/jfh/flight_plan_BLT.csv @@ -0,0 +1,11 @@ +firing, ooo, vx_pos, vy_pos, vy_neg, vz_pos, vz_neg, wy_pos, wy_neg, wp_pos, wp_neg, wr_pos, wr_neg +1, 7, 19.81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +2, 6, 1.618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +3, 5, 39.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +4, 4, 2.417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +5, 3, 4.372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +6, 2, 18.07, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +7, 1, 4.222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +8, 0, 3.838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +9, 8, 0, 0, 0, 0, 0, 0, 0, 0.0087, 0.0087, 0, 0 +10, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ No newline at end of file diff --git a/case/cant_optimization/jfh/jfh_blank.A b/case/cant_optimization/jfh/jfh_blank.A new file mode 100644 index 0000000..a908f82 --- /dev/null +++ b/case/cant_optimization/jfh/jfh_blank.A @@ -0,0 +1,2 @@ +offseted 0 0 + 0.000 0.000 0.000 diff --git a/data/tcd/tcf_003.txt b/case/cant_optimization/tcd/tcf_003.txt similarity index 100% rename from data/tcd/tcf_003.txt rename to case/cant_optimization/tcd/tcf_003.txt diff --git a/data/tcd/tgf_8.ini b/case/cant_optimization/tcd/tgf_8.ini similarity index 100% rename from data/tcd/tgf_8.ini rename to case/cant_optimization/tcd/tgf_8.ini diff --git a/case/flow_visualization/jfh/flight_plan_BLT.csv b/case/flow_visualization/jfh/flight_plan_BLT.csv new file mode 100644 index 0000000..18ef01e --- /dev/null +++ b/case/flow_visualization/jfh/flight_plan_BLT.csv @@ -0,0 +1,11 @@ +firing, ooo, vx_pos, vy_pos, vy_neg, vz_pos, vz_neg, wy_pos, wy_neg, wp_pos, wp_neg, wr_pos, wr_neg +1, 7, 19.81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +2, 6, 1.618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +3, 5, 39.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +4, 4, 2.417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +5, 3, 4.372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +6, 2, 18.07, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +7, 1, 4.222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +8, 0, 3.838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +9, 8, 0, 0, 0, 0, 0, 0, 0, 0.0087, 0.0087, 0, 0 +10, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ No newline at end of file diff --git a/data/tcd/tcf_BLT.txt b/case/flow_visualization/tcd/tcf_BLT.txt similarity index 100% rename from data/tcd/tcf_BLT.txt rename to case/flow_visualization/tcd/tcf_BLT.txt diff --git a/case/mdao/cant_sweep/jfh/flight_plan_BLT.csv b/case/mdao/cant_sweep/jfh/flight_plan_BLT.csv new file mode 100644 index 0000000..18ef01e --- /dev/null +++ b/case/mdao/cant_sweep/jfh/flight_plan_BLT.csv @@ -0,0 +1,11 @@ +firing, ooo, vx_pos, vy_pos, vy_neg, vz_pos, vz_neg, wy_pos, wy_neg, wp_pos, wp_neg, wr_pos, wr_neg +1, 7, 19.81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +2, 6, 1.618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +3, 5, 39.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +4, 4, 2.417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +5, 3, 4.372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +6, 2, 18.07, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +7, 1, 4.222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +8, 0, 3.838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +9, 8, 0, 0, 0, 0, 0, 0, 0, 0.0087, 0.0087, 0, 0 +10, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ No newline at end of file diff --git a/case/mdao/cant_sweep/jfh/jfh_blank.A b/case/mdao/cant_sweep/jfh/jfh_blank.A new file mode 100644 index 0000000..a908f82 --- /dev/null +++ b/case/mdao/cant_sweep/jfh/jfh_blank.A @@ -0,0 +1,2 @@ +offseted 0 0 + 0.000 0.000 0.000 diff --git a/case/mdao/cant_sweep/tcd/tgf.ini b/case/mdao/cant_sweep/tcd/tgf.ini new file mode 100644 index 0000000..44f86ef --- /dev/null +++ b/case/mdao/cant_sweep/tcd/tgf.ini @@ -0,0 +1,14 @@ +[thruster_groups] +pos_x = ['P1T3', 'P1T4', 'P2T3', 'P2T4', 'P3T3', 'P3T4', 'P4T3', 'P4T4'] +neg_x = ['P1T1', 'P1T2', 'P2T1', 'P2T2', 'P3T1', 'P3T2', 'P4T1', 'P4T2'] +pos_y = ['P7T1', 'P7T2'] +neg_y = ['P5T1', 'P5T2'] +pos_z = ['P8T1', 'P8T2'] +neg_z = ['P6T1', 'P6T2'] +pos_roll = ['P5T1', 'P6T1', 'P7T1', 'P8T1'] +neg_roll = ['P5T2', 'P6T2', 'P7T2', 'P8T2'] +pos_pitch = ['P2T1', 'P2T2', 'P4T3', 'P4T4'] +neg_pitch = ['P4T1', 'P4T2', 'P2T3', 'P2T4'] +pos_yaw = ['P3T1', 'P3T2', 'P1T3', 'P1T4'] +neg_yaw = ['P1T1', 'P1T2', 'P3T3', 'P3T4'] + diff --git a/data/tcd/tcf_4_thrusters.txt b/case/mdao/trade_study/tcd/tcf_4_thrusters.txt similarity index 100% rename from data/tcd/tcf_4_thrusters.txt rename to case/mdao/trade_study/tcd/tcf_4_thrusters.txt diff --git a/data/flight_plan/flight_plan.csv b/case/mission/flight_envelopes/jfh/flight_plan.csv similarity index 100% rename from data/flight_plan/flight_plan.csv rename to case/mission/flight_envelopes/jfh/flight_plan.csv diff --git a/data/tcd/tcf_flight_envelopes.txt b/case/mission/flight_envelopes/tcd/tcf_flight_envelopes.txt similarity index 100% rename from data/tcd/tcf_flight_envelopes.txt rename to case/mission/flight_envelopes/tcd/tcf_flight_envelopes.txt diff --git a/data/tcd/tdf.csv b/case/mission/flight_envelopes/tcd/tdf.csv similarity index 100% rename from data/tcd/tdf.csv rename to case/mission/flight_envelopes/tcd/tdf.csv diff --git a/case/mission/fuel_calc/jfh/flight_plan_BLT.csv b/case/mission/fuel_calc/jfh/flight_plan_BLT.csv new file mode 100644 index 0000000..18ef01e --- /dev/null +++ b/case/mission/fuel_calc/jfh/flight_plan_BLT.csv @@ -0,0 +1,11 @@ +firing, ooo, vx_pos, vy_pos, vy_neg, vz_pos, vz_neg, wy_pos, wy_neg, wp_pos, wp_neg, wr_pos, wr_neg +1, 7, 19.81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +2, 6, 1.618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +3, 5, 39.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +4, 4, 2.417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +5, 3, 4.372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +6, 2, 18.07, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +7, 1, 4.222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +8, 0, 3.838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +9, 8, 0, 0, 0, 0, 0, 0, 0, 0.0087, 0.0087, 0, 0 +10, 9, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ No newline at end of file diff --git a/case/mission/fuel_calc/tcd/tcf_003.txt b/case/mission/fuel_calc/tcd/tcf_003.txt new file mode 100644 index 0000000..27d1df2 --- /dev/null +++ b/case/mission/fuel_calc/tcd/tcf_003.txt @@ -0,0 +1,30 @@ +25 +m +0.000000 0.000000 0.000000 +0.000000 0.000000 0.000000 +MET1 006 0 0 0 0 0 0 0 0 0 0 0 0 +P1T1 003 -0.104313 0.07125 0.11205 1 0 0 0 1 0 0 0 1 +P1T2 003 -0.104313 -0.07125 0.11205 1 0 0 0 1 0 0 0 1 +P1T3 003 0 0 0 1 0 0 0 1 0 0 0 1 +P1T4 003 0 0 0 1 0 0 0 1 0 0 0 1 +P2T1 003 -0.104313 0.11205 -0.07125 1 0 0 0 1 0 0 0 1 +P2T2 003 -0.104313 0.11205 0.07125 1 0 0 0 1 0 0 0 1 +P2T3 003 0 0 0 0 0 0 0 0 0 0 0 0 +P2T4 003 0 0 0 0 0 0 0 0 0 0 0 0 +P3T1 003 -0.104313 -0.07125 -0.11205 1 0 0 0 1 0 0 0 1 +P3T2 003 -0.104313 0.07125 -0.11205 1 0 0 0 1 0 0 0 1 +P3T3 003 0 0 0 0 0 0 0 0 0 0 0 0 +P3T4 003 0 0 0 0 0 0 0 0 0 0 0 0 +P4T1 003 -0.104313 -0.11205 0.07125 1 0 0 0 1 0 0 0 1 +P4T2 003 -0.104313 -0.11205 -0.07125 1 0 0 0 1 0 0 0 1 +P4T3 003 0 0 0 0 0 0 0 0 0 0 0 0 +P4T4 003 0 0 0 0 0 0 0 0 0 0 0 0 +P5T1 001 0 0 0 0 0 0 0 0 0 0 0 0 +P5T2 001 0 0 0 0 0 0 0 0 0 0 0 0 +P5T3 001 0 0 0 0 0 0 0 0 0 0 0 0 +P5T4 001 0 0 0 0 0 0 0 0 0 0 0 0 +P6T1 001 0 0 0 0 0 0 0 0 0 0 0 0 +P6T2 001 0 0 0 0 0 0 0 0 0 0 0 0 +P6T3 001 0 0 0 0 0 0 0 0 0 0 0 0 +P6T4 001 0 0 0 0 0 0 0 0 0 0 0 0 +0 \ No newline at end of file diff --git a/case/mission/fuel_calc/tcd/tgf_8.ini b/case/mission/fuel_calc/tcd/tgf_8.ini new file mode 100644 index 0000000..ba8869a --- /dev/null +++ b/case/mission/fuel_calc/tcd/tgf_8.ini @@ -0,0 +1,13 @@ +[thruster_groups] +pos_x = ['MET1'] +neg_x = ['P1T1', 'P1T2', 'P2T1', 'P2T2', 'P3T1', 'P3T2', 'P4T1', 'P4T2'] +pos_y = ['P5T3', 'P5T4', 'P6T1', 'P6T2'] +neg_y = ['P5T1', 'P5T2', 'P6T3', 'P6T4'] +pos_z = ['P6T1', 'P6T2', 'P6T3', 'P6T4'] +neg_z = ['P5T1', 'P5T2', 'P5T3', 'P5T4'] +pos_roll = ['P5T3', 'P5T4', 'P6T3', 'P6T4'] +neg_roll = ['P5T1', 'P5T2', 'P6T1', 'P6T1'] +pos_pitch = ['P1T1', 'P1T2', 'P3T3', 'P3T4'] +neg_pitch = ['P1T3', 'P1T4', 'P3T1', 'P3T2'] +pos_yaw = ['P2T3', 'P2T4', 'P4T1', 'P4T2'] +neg_yaw = ['P2T1', 'P2T2', 'P4T3', 'P4T4'] \ No newline at end of file diff --git a/case/mission/plume_constraint_case/jfh/flight_plan.csv b/case/mission/plume_constraint_case/jfh/flight_plan.csv new file mode 100644 index 0000000..c77f12d --- /dev/null +++ b/case/mission/plume_constraint_case/jfh/flight_plan.csv @@ -0,0 +1,5 @@ +firing, v0_0, v1_0, v2_0, v0_1, v1_1, v2_1, w0_0, w1_0, w2_0, w0_1, w1_1, w2_1, t_req, d_req +1, 4800, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 7200, -1 +2, 200, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 45, -1 +3, 20, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 +4, 2, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 \ No newline at end of file diff --git a/data/tcd/tcf_16_thrusters.txt b/case/mission/plume_constraint_case/tcd/tcf_16_thrusters.txt similarity index 100% rename from data/tcd/tcf_16_thrusters.txt rename to case/mission/plume_constraint_case/tcd/tcf_16_thrusters.txt diff --git a/case/plume/plume_case/jfh/flight_plan.csv b/case/plume/plume_case/jfh/flight_plan.csv new file mode 100644 index 0000000..c77f12d --- /dev/null +++ b/case/plume/plume_case/jfh/flight_plan.csv @@ -0,0 +1,5 @@ +firing, v0_0, v1_0, v2_0, v0_1, v1_1, v2_1, w0_0, w1_0, w2_0, w0_1, w1_1, w2_1, t_req, d_req +1, 4800, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 7200, -1 +2, 200, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 45, -1 +3, 20, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 +4, 2, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 \ No newline at end of file diff --git a/data/jfh/jfh_base_case.A b/case/plume/plume_case/jfh/jfh_base_case.A similarity index 100% rename from data/jfh/jfh_base_case.A rename to case/plume/plume_case/jfh/jfh_base_case.A diff --git a/case/plume/plume_case/tcd/tcf_16_thrusters.txt b/case/plume/plume_case/tcd/tcf_16_thrusters.txt new file mode 100644 index 0000000..c135e1d --- /dev/null +++ b/case/plume/plume_case/tcd/tcf_16_thrusters.txt @@ -0,0 +1,21 @@ +16 +m +0.000000 0.000000 0.000000 +0.000000 0.000000 0.000000 +P1T1 001 0 0 2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T2 001 0 0 2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T3 001 0 0 2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T4 001 0 0 2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T1 001 0 2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T2 001 0 2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T3 001 0 2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T4 001 0 2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T1 001 0 0 -2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T2 001 0 0 -2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T3 001 0 0 -2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T4 001 0 0 -2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T1 001 0 -2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T2 001 0 -2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T3 001 0 -2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T4 001 0 -2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +0 \ No newline at end of file diff --git a/case/plume/plume_sq_plate/tcd/tcf_16_thrusters.txt b/case/plume/plume_sq_plate/tcd/tcf_16_thrusters.txt new file mode 100644 index 0000000..c135e1d --- /dev/null +++ b/case/plume/plume_sq_plate/tcd/tcf_16_thrusters.txt @@ -0,0 +1,21 @@ +16 +m +0.000000 0.000000 0.000000 +0.000000 0.000000 0.000000 +P1T1 001 0 0 2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T2 001 0 0 2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T3 001 0 0 2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T4 001 0 0 2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T1 001 0 2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T2 001 0 2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T3 001 0 2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T4 001 0 2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T1 001 0 0 -2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T2 001 0 0 -2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T3 001 0 0 -2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T4 001 0 0 -2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T1 001 0 -2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T2 001 0 -2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T3 001 0 -2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T4 001 0 -2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +0 \ No newline at end of file diff --git a/data/jfh/jfh_1d_approach.A b/case/rpod/1d_approach/jfh/jfh_1d_approach.A similarity index 100% rename from data/jfh/jfh_1d_approach.A rename to case/rpod/1d_approach/jfh/jfh_1d_approach.A diff --git a/data/tcd/tcf_1_thruster.txt b/case/rpod/1d_approach/tcd/tcf_1_thruster.txt similarity index 100% rename from data/tcd/tcf_1_thruster.txt rename to case/rpod/1d_approach/tcd/tcf_1_thruster.txt diff --git a/case/rpod/1d_approach/tcd/tgf.ini b/case/rpod/1d_approach/tcd/tgf.ini new file mode 100644 index 0000000..44f86ef --- /dev/null +++ b/case/rpod/1d_approach/tcd/tgf.ini @@ -0,0 +1,14 @@ +[thruster_groups] +pos_x = ['P1T3', 'P1T4', 'P2T3', 'P2T4', 'P3T3', 'P3T4', 'P4T3', 'P4T4'] +neg_x = ['P1T1', 'P1T2', 'P2T1', 'P2T2', 'P3T1', 'P3T2', 'P4T1', 'P4T2'] +pos_y = ['P7T1', 'P7T2'] +neg_y = ['P5T1', 'P5T2'] +pos_z = ['P8T1', 'P8T2'] +neg_z = ['P6T1', 'P6T2'] +pos_roll = ['P5T1', 'P6T1', 'P7T1', 'P8T1'] +neg_roll = ['P5T2', 'P6T2', 'P7T2', 'P8T2'] +pos_pitch = ['P2T1', 'P2T2', 'P4T3', 'P4T4'] +neg_pitch = ['P4T1', 'P4T2', 'P2T3', 'P2T4'] +pos_yaw = ['P3T1', 'P3T2', 'P1T3', 'P1T4'] +neg_yaw = ['P1T1', 'P1T2', 'P3T3', 'P3T4'] + diff --git a/case/rpod/base_case/jfh/jfh_base_case.A b/case/rpod/base_case/jfh/jfh_base_case.A new file mode 100644 index 0000000..1b3f654 --- /dev/null +++ b/case/rpod/base_case/jfh/jfh_base_case.A @@ -0,0 +1,22 @@ +offseted 20 0 + 0.000 0.000 0.000 + 1 0.0 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 25.0 -2 1.000 1 1 + 2 2.632 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 22.368 -2 1.000 1 1 + 3 5.263 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 19.737 -2 1.000 1 1 + 4 7.895 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 17.105 -2 1.000 1 1 + 5 10.526 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 14.474 -2 1.000 1 1 + 6 13.158 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 11.842 -2 1.000 1 1 + 7 15.789 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 9.211 -2 1.000 1 1 + 8 18.421 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 6.579 -2 1.000 1 1 + 9 21.053 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 3.947 -2 1.000 1 1 + 10 23.684 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 1.316 -2 1.000 1 1 + 11 26.316 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -1.316 -2 1.000 1 1 + 12 28.947 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -3.947 -2 1.000 1 1 + 13 31.579 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -6.579 -2 1.000 1 1 + 14 34.211 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -9.211 -2 1.000 1 1 + 15 36.842 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -11.842 -2 1.000 1 1 + 16 39.474 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -14.474 -2 1.000 1 1 + 17 42.105 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -17.105 -2 1.000 1 1 + 18 44.737 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -19.737 -2 1.000 1 1 + 19 47.368 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -22.368 -2 1.000 1 1 + 20 50.0 2.632 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20 -25.0 -2 1.000 1 1 diff --git a/case/rpod/base_case/tcd/tcf_16_thrusters.txt b/case/rpod/base_case/tcd/tcf_16_thrusters.txt new file mode 100644 index 0000000..c135e1d --- /dev/null +++ b/case/rpod/base_case/tcd/tcf_16_thrusters.txt @@ -0,0 +1,21 @@ +16 +m +0.000000 0.000000 0.000000 +0.000000 0.000000 0.000000 +P1T1 001 0 0 2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T2 001 0 0 2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T3 001 0 0 2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T4 001 0 0 2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T1 001 0 2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T2 001 0 2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T3 001 0 2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T4 001 0 2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T1 001 0 0 -2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T2 001 0 0 -2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T3 001 0 0 -2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T4 001 0 0 -2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T1 001 0 -2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T2 001 0 -2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T3 001 0 -2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T4 001 0 -2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +0 \ No newline at end of file diff --git a/case/rpod/base_case/tcd/tdf.csv b/case/rpod/base_case/tcd/tdf.csv new file mode 100644 index 0000000..0382b27 --- /dev/null +++ b/case/rpod/base_case/tcd/tdf.csv @@ -0,0 +1,10 @@ +#,name,prop,F,isp,MIB,m,mdot,ve,d,R,gamma,Te,rhoe,n +001,A110,M20/MON3,111.2,305.5,0.463,0.34,0.03658,3151.9,0.06096,460.54,1.2015,621.53,0.003926,1.3098E+23 +002,R-1E,MMH/MON3,111.2,280,0.89,2,0.0404,3256.55,0.11125,397.67,1.2529,787.76,0.001289,3.7145E+22 +003,ATV216,MMH/MON3,216,270.1,8,1.9,0.078,3159.92,0.095,397.67,1.2512,944,0.002905,8.3708E+22 +004,ATV425,MMH/MON3,425,321,18,4.3,0.135,3382.22,0.296,394.52,1.1899,586.43,0.0005311,1.5192E+22 +005,R-4D-11,MMH/MON3,490,311,15.6,3.76,0.165,3314.41,0.279,397.63,1.2615,690.63,0.0007866,2.2653E+22 +006,R-42,MMH/MON3,890,305,44.48,4.53,0.3,3311.49,0.38964,397.65,1.2611,695.52,0.0007698,2.218E+22 +007,R-42DM,Hydrazine/MON3,890,327,44.48,7.3,0.277,3445.56,0.381,390.32,1.3229,686.83,0.0007945,2.2462E+22 +008,R-40B,MMH/MON3,4000,293,111,10.5,1.4,3189.13,0.401,397.67,1.2508,897.86,0.0030975,8.922E+22 +009,R2VAC,LCH4/LOX,2530000,380,710930000,1600,931.2,3758.27,2.3,323.94,1.1937,1594.08,0.021768,5.1071E+23 \ No newline at end of file diff --git a/case/rpod/hollow_cube/tcd/tcf_16_thrusters.txt b/case/rpod/hollow_cube/tcd/tcf_16_thrusters.txt new file mode 100644 index 0000000..c135e1d --- /dev/null +++ b/case/rpod/hollow_cube/tcd/tcf_16_thrusters.txt @@ -0,0 +1,21 @@ +16 +m +0.000000 0.000000 0.000000 +0.000000 0.000000 0.000000 +P1T1 001 0 0 2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T2 001 0 0 2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T3 001 0 0 2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P1T4 001 0 0 2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T1 001 0 2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T2 001 0 2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T3 001 0 2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T4 001 0 2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T1 001 0 0 -2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T2 001 0 0 -2.07544 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T3 001 0 0 -2.07544 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T4 001 0 0 -2.07544 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T1 001 0 -2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T2 001 0 -2.07544 0 0.000000e+00 1.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T3 001 0 -2.07544 0 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 -1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T4 001 0 -2.07544 0 0.000000e+00 -1.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +0 \ No newline at end of file diff --git a/case/rpod/hollow_cube/tcd/tdf.csv b/case/rpod/hollow_cube/tcd/tdf.csv new file mode 100644 index 0000000..0382b27 --- /dev/null +++ b/case/rpod/hollow_cube/tcd/tdf.csv @@ -0,0 +1,10 @@ +#,name,prop,F,isp,MIB,m,mdot,ve,d,R,gamma,Te,rhoe,n +001,A110,M20/MON3,111.2,305.5,0.463,0.34,0.03658,3151.9,0.06096,460.54,1.2015,621.53,0.003926,1.3098E+23 +002,R-1E,MMH/MON3,111.2,280,0.89,2,0.0404,3256.55,0.11125,397.67,1.2529,787.76,0.001289,3.7145E+22 +003,ATV216,MMH/MON3,216,270.1,8,1.9,0.078,3159.92,0.095,397.67,1.2512,944,0.002905,8.3708E+22 +004,ATV425,MMH/MON3,425,321,18,4.3,0.135,3382.22,0.296,394.52,1.1899,586.43,0.0005311,1.5192E+22 +005,R-4D-11,MMH/MON3,490,311,15.6,3.76,0.165,3314.41,0.279,397.63,1.2615,690.63,0.0007866,2.2653E+22 +006,R-42,MMH/MON3,890,305,44.48,4.53,0.3,3311.49,0.38964,397.65,1.2611,695.52,0.0007698,2.218E+22 +007,R-42DM,Hydrazine/MON3,890,327,44.48,7.3,0.277,3445.56,0.381,390.32,1.3229,686.83,0.0007945,2.2462E+22 +008,R-40B,MMH/MON3,4000,293,111,10.5,1.4,3189.13,0.401,397.67,1.2508,897.86,0.0030975,8.922E+22 +009,R2VAC,LCH4/LOX,2530000,380,710930000,1600,931.2,3758.27,2.3,323.94,1.1937,1594.08,0.021768,5.1071E+23 \ No newline at end of file diff --git a/case/rpod/koz/jfh/jfh_1d_approach.A b/case/rpod/koz/jfh/jfh_1d_approach.A new file mode 100644 index 0000000..e941fca --- /dev/null +++ b/case/rpod/koz/jfh/jfh_1d_approach.A @@ -0,0 +1,12 @@ +offseted 10 0 + 0.000 0.000 0.000 + 1 0.000 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -40.000 0.000 0.000 1.000 1 1 + 2 2.498 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -36.000 0.000 0.000 1.000 1 1 + 3 4.996 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -32.000 0.000 0.000 1.000 1 1 + 4 7.495 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -28.000 0.000 0.000 1.000 1 1 + 5 9.993 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -24.000 0.000 0.000 1.000 1 1 + 6 12.491 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -20.000 0.000 0.000 1.000 1 1 + 7 14.989 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -16.000 0.000 0.000 1.000 1 1 + 8 17.487 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -12.000 0.000 0.000 1.000 1 1 + 9 19.986 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -8.000 0.000 0.000 1.000 1 1 + 10 22.484 2.498201 0.00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 -4.000 0.000 0.000 1.000 1 1 diff --git a/case/rpod/koz/tcd/tcf_1_thruster.txt b/case/rpod/koz/tcd/tcf_1_thruster.txt new file mode 100644 index 0000000..4ef05bb --- /dev/null +++ b/case/rpod/koz/tcd/tcf_1_thruster.txt @@ -0,0 +1,6 @@ +1 +m +0.000000 0.000000 0.000000 +0.000000 0.000000 0.000000 +P1T1 001 0 0 0 1 0 0 0 1 0 0 0 1 +0 \ No newline at end of file diff --git a/case/rpod/koz/tcd/tgf.ini b/case/rpod/koz/tcd/tgf.ini new file mode 100644 index 0000000..44f86ef --- /dev/null +++ b/case/rpod/koz/tcd/tgf.ini @@ -0,0 +1,14 @@ +[thruster_groups] +pos_x = ['P1T3', 'P1T4', 'P2T3', 'P2T4', 'P3T3', 'P3T4', 'P4T3', 'P4T4'] +neg_x = ['P1T1', 'P1T2', 'P2T1', 'P2T2', 'P3T1', 'P3T2', 'P4T1', 'P4T2'] +pos_y = ['P7T1', 'P7T2'] +neg_y = ['P5T1', 'P5T2'] +pos_z = ['P8T1', 'P8T2'] +neg_z = ['P6T1', 'P6T2'] +pos_roll = ['P5T1', 'P6T1', 'P7T1', 'P8T1'] +neg_roll = ['P5T2', 'P6T2', 'P7T2', 'P8T2'] +pos_pitch = ['P2T1', 'P2T2', 'P4T3', 'P4T4'] +neg_pitch = ['P4T1', 'P4T2', 'P2T3', 'P2T4'] +pos_yaw = ['P3T1', 'P3T2', 'P1T3', 'P1T4'] +neg_yaw = ['P1T1', 'P1T2', 'P3T3', 'P3T4'] + diff --git a/data/jfh/JFH05.A b/case/rpod/multi_surface/jfh/JFH05.A similarity index 100% rename from data/jfh/JFH05.A rename to case/rpod/multi_surface/jfh/JFH05.A diff --git a/case/rpod/multi_surface/jfh/flight_plan.csv b/case/rpod/multi_surface/jfh/flight_plan.csv new file mode 100644 index 0000000..c77f12d --- /dev/null +++ b/case/rpod/multi_surface/jfh/flight_plan.csv @@ -0,0 +1,5 @@ +firing, v0_0, v1_0, v2_0, v0_1, v1_1, v2_1, w0_0, w1_0, w2_0, w0_1, w1_1, w2_1, t_req, d_req +1, 4800, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 7200, -1 +2, 200, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 45, -1 +3, 20, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 +4, 2, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 \ No newline at end of file diff --git a/data/tcd/TCD.txt b/case/rpod/multi_surface/tcd/TCD.txt similarity index 100% rename from data/tcd/TCD.txt rename to case/rpod/multi_surface/tcd/TCD.txt diff --git a/case/rpod/multi_thrusters_square/jfh/flight_plan.csv b/case/rpod/multi_thrusters_square/jfh/flight_plan.csv new file mode 100644 index 0000000..c77f12d --- /dev/null +++ b/case/rpod/multi_thrusters_square/jfh/flight_plan.csv @@ -0,0 +1,5 @@ +firing, v0_0, v1_0, v2_0, v0_1, v1_1, v2_1, w0_0, w1_0, w2_0, w0_1, w1_1, w2_1, t_req, d_req +1, 4800, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 7200, -1 +2, 200, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 45, -1 +3, 20, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 +4, 2, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0.5 \ No newline at end of file diff --git a/case/rpod/multi_thrusters_square/tcd/tcf_4_thrusters.txt b/case/rpod/multi_thrusters_square/tcd/tcf_4_thrusters.txt new file mode 100644 index 0000000..8e00678 --- /dev/null +++ b/case/rpod/multi_thrusters_square/tcd/tcf_4_thrusters.txt @@ -0,0 +1,9 @@ +4 +m +0.000000 0.000000 0.000000 +0.000000 0.000000 0.000000 +P1T1 001 0 0 2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P2T1 001 0 2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P3T1 001 0 0 -2.07544 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +P4T1 001 0 -2.07544 0 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+00 +0 \ No newline at end of file diff --git a/pyrpod/rpod/PlumeStrikeEstimationStudy.py b/pyrpod/rpod/PlumeStrikeEstimationStudy.py index 09de88f..56521b5 100644 --- a/pyrpod/rpod/PlumeStrikeEstimationStudy.py +++ b/pyrpod/rpod/PlumeStrikeEstimationStudy.py @@ -999,10 +999,12 @@ def jfh_plume_strikes(self, parallel=None, workers=None): # failed_constraints = 1 - path_to_vtk = self.environment.case_dir + "results/strikes/firing-" + str(firing) + # convert_stl_to_vtk_strikes() prepends case_dir + "results/", so + # pass a path relative to that. Previously the full case_dir path + # was passed here and prepended again, producing a doubled + # case_dir/results/case_dir/results/strikes/ output tree. + path_to_vtk = "strikes/firing-" + str(firing) - # print(cellData) - # input() self.target.convert_stl_to_vtk_strikes(path_to_vtk, cellData.copy(), target) # if self.environment.config['pm']['kinetics'] != 'None' and checking_constraints: diff --git a/pyrpod/util/io/fs.py b/pyrpod/util/io/fs.py index 0de1cba..3133b55 100644 --- a/pyrpod/util/io/fs.py +++ b/pyrpod/util/io/fs.py @@ -1,3 +1,4 @@ +import logging import os from pathlib import Path @@ -5,7 +6,10 @@ _REPO_ROOT = Path(__file__).resolve().parents[3] _SHARED_DATA_DIR = _REPO_ROOT / "data" -def resolve_asset_path(case_dir, subdir, filename, shared_subdir=None): +log = logging.getLogger(__name__) + +def resolve_asset_path(case_dir, subdir, filename, shared_subdir=None, *, + required=True): """ Resolve the path to a shared data asset (STL, JFH, TCD, flight plan, ...). @@ -28,21 +32,43 @@ def resolve_asset_path(case_dir, subdir, filename, shared_subdir=None): differs from `subdir` (e.g. flight plans live under a case's `jfh/` folder but under `data/flight_plan/`). Defaults to `subdir`. + required : bool, optional + When True (default) a missing asset raises FileNotFoundError naming + both searched paths. Set False to get the case-local path back for a + file that is expected not to exist yet (e.g. an output target). + + Precedence + ---------- + The case-local copy (``case_dir/subdir/filename``) always wins over the + shared ``data/`` copy, so a case can override a shared asset by keeping + its own file, and two cases may carry same-named files with different + contents. The chosen path is logged at DEBUG level. + Returns ------- str - Path to the resolved asset. Prefers the case-local path; falls back - to the shared data directory path even if neither exists, so - callers get a sensible path in error messages. + Path to the resolved asset (case-local if present, else shared). + + Raises + ------ + FileNotFoundError + If ``required`` and the asset exists in neither location. """ local_path = os.path.join(case_dir, subdir, filename) if os.path.exists(local_path): + log.debug("asset %r resolved to case-local %s", filename, local_path) return local_path shared_path = str(_SHARED_DATA_DIR / (shared_subdir or subdir) / filename) if os.path.exists(shared_path): + log.debug("asset %r not case-local; resolved to shared %s", + filename, shared_path) return shared_path + if required: + raise FileNotFoundError( + f"asset {filename!r} not found: looked for case-local " + f"{local_path!r} then shared {shared_path!r}") return local_path def ensure_dir(path): diff --git a/tests/conftest.py b/tests/conftest.py index 42d0703..2bb66bf 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -13,6 +13,17 @@ # fixed or removed outright. collect_ignore = ["old", "test_case_25.py", "rpod_verification_test_05.py"] +# Manual-run verification FIGURE scripts (design decision D5): plume +# plume_verification_test_04..40 reproduce Cai & Wang 2012 / Cai 2016 paper +# figures when run directly (`python tests/plume/plume_verification_test_NN.py`) +# and define no pytest tests -- collecting them only imports dead weight and +# muddies the "verification" taxonomy. Exclude them so the pytest suite holds +# real tests only; _01..03 are genuine pytest verification tests and stay +# collected. Run a figure script directly to regenerate its figure. +collect_ignore += [ + f"plume/plume_verification_test_{n:02d}.py" for n in range(4, 41) +] + @pytest.fixture(autouse=True, scope="session") def _run_from_tests_dir(): diff --git a/tests/rpod/rpod_unit_test_03.py b/tests/rpod/rpod_unit_test_03.py index 066745c..cc735a3 100644 --- a/tests/rpod/rpod_unit_test_03.py +++ b/tests/rpod/rpod_unit_test_03.py @@ -10,7 +10,7 @@ # in pyrpod.util.io.file_print without making assertions yet. These files # will serve as fixtures for future tests to lock current behavior. -import unittest, os +import unittest, os, shutil, tempfile import numpy as np from pyrpod.util.io import file_print as fp @@ -19,8 +19,10 @@ class CaptureJFHOutputs(unittest.TestCase): def setUp(self): - # Output directory for captured files (kept within tests tree) - self.out_dir = os.path.join(os.path.dirname(__file__), 'jfh_outputs') + # Write captures to a throwaway temp dir so test runs never mutate + # tracked files. The committed tests/rpod/jfh_outputs/*.txt remain a + # stable ground-truth snapshot for future comparison tests. + self.out_dir = tempfile.mkdtemp(prefix='jfh_outputs_') ensure_dir(self.out_dir) # Deterministic sample data used across all captures @@ -43,6 +45,9 @@ def setUp(self): # For print_1d_JFH, rot[i][j][k] indexing is used with scientific formatting self.rot_array = [base_rot.copy() for _ in range(3)] + def tearDown(self): + shutil.rmtree(self.out_dir, ignore_errors=True) + def test_capture_print_JFH(self): out_file = os.path.join(self.out_dir, 'print_JFH_output.txt') fp.print_JFH(self.t_values, self.r, self.rot_with_A, out_file)