IUS 1.0 Development

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,626
Reaction score
2,344
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
On the mesh there are 2 manifolds that have 4 nozzles. And another set of manifolds that have 2 nozzles that are on the same side.

Surprisingly, the real one has the same configuration of thrusters. ;)
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
It is just odd to me.:huh:
None of the thruster face up. So for pitch up one side fires both down facing thrusters and for pitch down the other side fires both down facing thrusters.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,626
Reaction score
2,344
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
It is just odd to me.:huh:
None of the thruster face up. So for pitch up one side fires both down facing thrusters and for pitch down the other side fires both down facing thrusters.

Why should a thruster point up? You have only three degrees of freedom, so you minimally need only 2 x 3 thruster for allowing all rotations. One thruster to start a rotation, one to stop it. No reason to care if this causes also a translation.

Especially think of the Space Shuttle there... the nose RCS is shut off during most of the flight and it still works. During re-entry, only the aft RCS systems are active. Why? Because the translations created that way are tolerable.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
Alright. I When I get home I will see what I can put together. I wonder what those set on the same side do?
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,626
Reaction score
2,344
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Alright. I When I get home I will see what I can put together. I wonder what those set on the same side do?

Usually: Redundancy. should one RCS system fail, you can still use the other set of 6 thrusters without restrictions.

There can be other reasons as well, but this is usually (80% of all cases) the reason. On the Space Shuttle, you for example have many thrusters grouped together for also (additionally to the redundancy) have a way to regulate how much force you get, by using all or just some pairs on the RCS. Not sure if it was the shuttle, but one spacecraft also extended the lifetime of all thrusters by always using a different set of thrusters for the next impulse.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
So I may just use those manifolds with 4 nozzles.

So for pitch Side 1 would fire in the -z direction and pitch up and pitch down would be fire side 2 in the z direction. Side 1 and 2 are opposite each on the x axis.

Then for a roll the same one side fires
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,626
Reaction score
2,344
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
So I may just use those manifolds with 4 nozzles.

So for pitch Side 1 would fire in the -z direction and pitch up and pitch down would be fire side 2 in the z direction. Side 1 and 2 are opposite each on the x axis.

Then for a roll the same one side fires

Wouldn't work. But you will find out yourself.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Which part? It seems the pitch would be controlled by the 2 nozzles on the manifolds aligned the center
No. The pitch REMs are off-center. There's no need for them to be on-center as the IUS doesn't care about precision as it is only used to boost spacecrafts to new orbits.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
Now totally confused. So the pitch REM are off centered on the same side?


iusrcs1_zpsefbfc1ba.jpg
 
Last edited:

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Now totally confused. So the pitch REM are off centered on the same side?
Yes. Pitch up is on the +Z side while pitch down is on the -Z side.

---------- Post added at 06:54 PM ---------- Previous post was at 06:35 PM ----------

Yes. Pitch up is on the +Z side while pitch down is on the -Z side.
I must admit that I goofed on the locations of the +Z REMs. A fixed version is now checked in and available.
 
Last edited:

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
OK. I have not figured out the struct part yet.
2 thrusters are created. Thruster0 is first stage thruster and is used if the 2nd stage is attached. Thruster1 is the 2nd stage thruster and is used if not attached. If attached the vessel would have the mass of stage 1 and stage propellant. If dettached Stage 2 would only have propellant mass of Stage 2

Code:
ph_main1 = CreatePropellantResource(MAX_MAIN_FUEL1);    // main tank stage 1
	ph_main2 = CreatePropellantResource(MAX_MAIN_FUEL2);    // main tank stage 2
	
	RM1 = CreateAttachment(false, _V(0, 0, 1.111), _V(0, 0, -1), _V(0, 1, 0), "RM1", false);

	th_main[0] = CreateThruster(_V(0, 0, 0), _V(0, 0, 1), 184752.84, ph_main1, ISP); //THRUSTER FOR 1ST STAGE ALONE
	thg_main = CreateThrusterGroup(th_main, 1, THGROUP_MAIN);
	AddExhaust(th_main[0], 5, .5, _V(0, 0, -3.5), _V(0, 0, -1)); //EXHAUST location OF 1ST STAGE

	th_main[1] = CreateThruster(_V(0, 0, 0), _V(0, 0, 1), 78272, ph_main2, ISP);//THRUSTER FOR 2ND STAGE ALONE
	thg_main = CreateThrusterGroup(th_main, 1, THGROUP_MAIN);//
	AddExhaust(th_main[1], 5, .5, _V(0, 0, -.5), _V(0, 0, -1)); //EXHAUST location OF 2ND STAGE
Code:
void IUS1::clbkPostStep(double simt, double simdt, double mjd)
{
	if (GetAttachmentStatus(RM1))//2ND STAGE IS ATTACHED TO 1ST STAGE
	{
		newmass = STAGE1MASS+STAGE2MASS;  //MASS OF STAGE 1 AND STAGE 2 ARE ADDED
		SetEmptyMass  (newmass);    //NEW MASS OF STAGE 2 AND STAGE 1
		        
		MAX_MAIN_THRUST = 184752.84;  // THRUST OF STAGE 1
		MAX_MAIN_FUEL = 9631;           // FUEL OF STAGE1
		SetThrusterIsp(th_main[0], 2898);  //SETS ISP OF STAGE 1
		SetThrusterMax0(th_main[0], 184752.84); //THRUST OF STAGE 1
		SetThrusterMax0(th_main[1], 0); //SET MAX THRUST OF STAGE 2 ALONE TO ZERO AS STAGE 1 THRUSTER IS FIRING

	}
	else//2ND STAGE IS NOT ATTACHED TO 1ST STAGE
	{
		
		SetEmptyMass(1170);  //EMPTY MASS OF STAGE 2 ALONE
		ATTACH_status = NO;  //2ND STAGE IS NOT ATTACHED TO 1ST STAGE
		MAX_MAIN_THRUST = 78272.76;  //THRUST OF STAGE 2 ALONE
		MAX_MAIN_FUEL = 2727.45;     //FUEL OF STAGE 2 ALONE
		SetThrusterIsp(th_main[1], 2977.335);  //SET ISP OF STAGE 2
		SetThrusterMax0(th_main[1], 78272.76);  //SET MAX THRUST OF STAGE 2 ALONE
		SetThrusterMax0(th_main[0], 0);  //SET MAX THRUST OF STAGE 1 ALONE TO ZERO AS STAGE 2 THRUSTER IS FIRING
		MAX_MAIN_FUEL1 = 0;  //STAGE 1 FUEL IS NOT PRESENT
	}
}
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Remember to add not just the total mass of the first stage but also the PMI.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
I guess the cross sections would change also.
I get the PMI for stage 1 as (1.44,1.41,0.95) cross section (9.44,9.66,6.53)
I get the PMI for stage 2 as (.88,.99,.84) cross section (4.29,8.18,4.18)

So if attach the cross section and pmi would equal stage 1 + stage 2, right
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
I guess the cross sections would change also.
I get the PMI for stage 1 as (1.44,1.41,0.95) cross section (9.44,9.66,6.53)
I get the PMI for stage 2 as (.88,.99,.84) cross section (4.29,8.18,4.18)

So if attach the cross section and pmi would equal stage 1 + stage 2, right
Yes, when stage 1 is present. When stage 1 is jettisoned, that gets subtracted from the total, leaving only the stage 2 mass and PMI.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
Code:
void IUS1::clbkPostStep(double simt, double simdt, double mjd)
{
	if (GetAttachmentStatus(RM1))//2ND STAGE IS ATTACHED TO 1ST STAGE
	{
		newmass = STAGE1MASS+STAGE2MASS;  //MASS OF STAGE 1 AND STAGE 2 ARE ADDED
		SetEmptyMass  (newmass);    //NEW MASS OF STAGE 2 AND STAGE 1
		        
		MAX_MAIN_THRUST = 184752.84;  // THRUST OF STAGE 1
		MAX_MAIN_FUEL = 9631;           // FUEL OF STAGE1
		SetThrusterIsp(th_main[0], 2898);  //SETS ISP OF STAGE 1
		SetThrusterMax0(th_main[0], 184752.84); //THRUST OF STAGE 1
		SetThrusterMax0(th_main[1], 0); //SET MAX THRUST OF STAGE 2 ALONE TO ZERO AS STAGE 1 THRUSTER IS FIRING
		SetCrossSections(_V(13.73, 17.84, 10.71)); //STAGE 1 + STAGE 2
		SetPMI(_V(2.29,2.4, 1.79));  //STAGE 1 + STAGE 2
	}
	else//2ND STAGE IS NOT ATTACHED TO 1ST STAGE
	{
		
		SetEmptyMass(1170);  //EMPTY MASS OF STAGE 2 ALONE
		MAX_MAIN_THRUST = 78272.76;  //THRUST OF STAGE 2 ALONE
		MAX_MAIN_FUEL = 2727.45;     //FUEL OF STAGE 2 ALONE
		SetThrusterIsp(th_main[1], 2977.335);  //SET ISP OF STAGE 2
		SetThrusterMax0(th_main[1], 78272.76);  //SET MAX THRUST OF STAGE 2 ALONE
		SetThrusterMax0(th_main[0], 0);  //SET MAX THRUST OF STAGE 1 ALONE TO ZERO AS STAGE 2 THRUSTER IS FIRING
		MAX_MAIN_FUEL1 = 0;  //STAGE 1 FUEL IS NOT PRESENT
		SetCrossSections(_V(4.29, 8.18, 4.18));  //STAGE 2 ALONE
		SetPMI(_V(.88, .99, .84));  //STAGE 2 ALONE
	}
}

Ok a couple of questions.

MAX_MAIN_FUEL = (9631+ 2727.45); this is the propellant load of both stages if attached. Should this load be added to the empty mass of stage rather than the propellant load. Otherwise you could use in in stage 1

On the thrusters I have 2 thruster0 Stage1 and Thruster1. stage 2. Not sure how to select which one to fire with which stage
 
Last edited:

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,626
Reaction score
2,344
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Yes, when stage 1 is present. When stage 1 is jettisoned, that gets subtracted from the total, leaving only the stage 2 mass and PMI.

PMI is independent of mass and subtracting PMI changes the mass distribution of the spacecraft, independent of the mass.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
Thanks. So when they are attached should the PMI be for both stage 1 and Stage 2?

Any thoughts about the selecting which thruster to fire?

Code:
	th_main[0] = CreateThruster(_V(0, 0, 0), _V(0, 0, 1), 184752.84, ph_main2, ISP); //THRUSTER FOR 1ST STAGE ALONE
//	thg_main = CreateThrusterGroup(th_main, 1, THGROUP_MAIN);
	AddExhaust(th_main[0], 5, .5, _V(0,0,-3.5), _V(0,0,-1)); //EXHAUST location OF 1ST STAGE

	th_main[1] = CreateThruster(_V(0, 0, 0), _V(0, 0, 1), 78272, ph_main, ISP);//THRUSTER FOR 2ND STAGE ALONE
	thg_main = CreateThrusterGroup(th_main, 2, THGROUP_MAIN);//
	AddExhaust(th_main[1], 5, .5, _V(0, 0, -.5), _V(0, 0, -1)); //EXHAUST location OF 2ND STAGE
Right now when I apply thrust both fire. I had them set a group of 1 but then only 1 was firing

---------- Post added 08-28-14 at 05:54 AM ---------- Previous post was 08-27-14 at 06:07 AM ----------

I have it create 1 thruster where the 1stage exhaust would be:

th_main[0] = CreateThruster(_V(0, 0, 0), _V(0, 0, 1), 184752.84, ph_main2, ISP); //THRUSTER FOR 1ST STAGE ALONE
thg_main = CreateThrusterGroup(th_main, 1, THGROUP_MAIN);
AddExhaust(th_main[0], 5, .5, _V(0,0,-3.5), _V(0,0,-1)); //EXHAUST location OF 1ST STAGE

then in the poststep I have this:
Code:
	if (SECONDSTAGETHRUSTERCREATE == YES)
	{
		DelThruster(th_main[0]);//DELETE 1STAGE THRUSTER
		th_main[0] = CreateThruster(_V(0, 0, 0), _V(0, 0, 1), 78272, ph_main, ISP);//THRUSTER FOR 2ND STAGE ALONE
		thg_main = CreateThrusterGroup(th_main, 1, THGROUP_MAIN);//
		AddExhaust(th_main[0], 5, .5, _V(0, 0, -.5), _V(0, 0, -1)); //EXHAUST location OF 2ND STAGE
		SECONDSTAGETHRUSTERCREATE = NO; //2ND STAGE THRUSTER CREATED
	}
so if SECONDSTAGETHRUSTERCREATE is yes. then del the 1st atge thrust and make a new one for 2nd stage.

My problem is how to tell it to create the 2nd stage thruster.
if I tie it to attach status then it would repeat that process.

Another question is when this vessel is 60 meters from the shuttle the RCS are active. So I will need to add some code to check the distance of the shuttle.
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,925
Reaction score
2,935
Points
188
Website
github.com
Another question is when this vessel is 60 meters from the shuttle the RCS are active. So I will need to add some code to check the distance of the shuttle.

99% sure that's done by a timer, and its time is the time the IUS takes to move 60m away from the orbiter. Given that the IUS uses springs to separate (and assuming the orbiter RCS don't help), it's a question of finding out the rate imparted by the springs and get the time from there.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,726
Reaction score
2,690
Points
203
Location
Dallas, TX
I assume that the IUS is attached to the Shuttle, right? So wouldn't the detach rate be a factor.

Are the springs on the IUS or shuttle?

I assume some on stage 1 which is just a cfg an child attachment point is made. There is a parent attachment on the shuttle.
 
Top