Board index FlightGear Development Aircraft Cockpit development

Concorde cockpit redesign

Discussion about creating 2d and 3d cockpits.

Re: Concorde cockpit redesign

Postby fmanu » Wed Apr 08, 2020 10:49 am

Hello.

I tried values on aerodynamic table. But i don't have the real tables of Concorde. I made like i know how it behaves.

I saw in a documentary that at cruise, the engines have N1=96% and N2=84%, and that the angle of attack is aproximatively of 3°.
I'm on doubt if the Concorde can climb without balancing fuel, or if the lack of balancing just bring overconsuption. I saw that a flight with a certain angle of attack needs some constant triming.

I tried two aproaches. I kept the drag due to trim x10 as on first time. The first was to increase lift coefficient for the trimling would be at zero, so the plane can go supersonic only of we balance fuel. But the problem is that at Mach 2, the plane has no angle of attack (0°)

The second aproach is that the plane needs a certain angle of attack to fly, but it needs to trim up. But i decreased drastically the drag due to mach and the drag at zero lift. I increased a little the lift at mach 2 and zero AOA. I had a good result. The N1 and N2 is low as on the documentary, and the fuel consuption is at 4,5 tons/hour/engines. The only problem is that the AOA is too low, 1 or 2°. And in this case, the Concorde can reach supersonic cruise without balancing, but the fuel consuption is too high so that's a good thing.

I give you the aerodynamics part of Concorde.xml:

Code: Select all
<aerodynamics>

        <alphalimits unit="DEG">
            <documentation>
              added : => real -5.5 to 16.5 deg.
            </documentation>
            <min>-5.5</min>
            <max>16.5</max>
        </alphalimits>

        <aero_ref_pt_shift_x>
          <function name="aero/function/kC0">
            <description>Shift_of_center_of_pressure</description>
            <product>
                  <table>
                      <independentVar>velocities/mach</independentVar>
                      <tableData>
                          0.5      0.550
                          0.9      0.580
                          1.0      0.645
                          1.2      0.635
                          1.5      0.625
                          2.0      0.620
                      </tableData>
                  </table>
            </product>
          </function>
        </aero_ref_pt_shift_x>

        <documentation>
           Added :
           - additional lift on takeoff, otherwise tail touches the ground.
           - downwash of the air between the wing and the ground creates a cushion,
             making the landing smooth.
        </documentation>
        <function name="aero/function/kCLge">
            <description>Change_in_lift_due_to_ground_effect</description>
            <product>
                  <table>
                      <independentVar>aero/h_b-mac-ft</independentVar>
                      <tableData>
                          0.0000   1.2000
                          0.1000   1.1500
                          0.1500   1.0900
                          0.2000   1.0200
                          1.1000   1.0000
                      </tableData>
                  </table>
            </product>
        </function>

        <axis name="DRAG">
            <documentation>
               Add Mach 0.0, 0.6, 1.1 and 1.4 :
               - increase (x1.2) climb drag to get 10 pitch;
               - increase (x1.2) landing drag to get 10 pitch and VREF 162 kt.
               - supersonic decreases drag (in front of the wave);
               - Mach 1.1 is end of transonic wall.
               - Mach 1.4 is supersonic cruise.
            </documentation>
            <function name="aero/coefficient/CD0">
                <description>Drag_at_zero_lift</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                      <table>
                          <independentVar lookup="row">aero/alpha-rad</independentVar>
                          <independentVar lookup="column">velocities/mach</independentVar>
                          <tableData>
                                        0.0000   0.6000   0.8000   1.1000   1.4000
                              -1.5700   1.5000   1.5000   1.5000   1.5000   1.5000
                              -0.2600   0.0408   0.0408   0.0340   0.0200   0.0060
                               0.0000   0.0204   0.0204   0.0170   0.0100   0.000
                               0.2600   0.0408   0.0408   0.0340   0.0200   0.0060
                               1.5700   1.5000   1.5000   1.5000   1.5000   1.5000
                          </tableData>
                      </table>
                </product>
            </function>
            <function name="aero/coefficient/CDi">
                <description>Induced_drag</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>aero/cl-squared</property>
                    <value>0.042</value>
                </product>
            </function>
            <documentation>
              Add Mach 1.15, 1.3, 1.7 and 2.0 :
              - respect the thrust X 2.7 by air intakes.
              - supersonic decreases drag (in front of the wave).
              - Mach 1.8 adjusts climb rate : 0.015 -> 0.018.
              - Mach 2.0 adjusts consumption during supersonic cruise.
              Climb from Mach 0.95 to 1.7 in 10 minutes, adjusted by :
              - Mach 1.1 is end of transonic wall.
              - Mach 1.3 is start of effect of air intakes.
              - Mach 1.7 is end of reaheat.
            </documentation>
            <function name="aero/coefficient/CDmach">
                <description>Drag_due_to_mach</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                      <table>
                          <independentVar>velocities/mach</independentVar>
                          <tableData>
                              0.0       0.000
                              0.79      0.000
                              1.1       0.023
                              1.15      0.020
                              1.3       0.019
                              1.7       0.016
                              1.8       0.010
                              2.0       0.002
                          </tableData>
                      </table>
                </product>
            </function>
            <documentation>
              nose drag.
            </documentation>
            <function name="aero/coefficient/CDflap">
                <description>Drag_due_to_flaps</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>fcs/flap-cmd-norm</property>
                    <value>0.0550</value>
                </product>
            </function>
            <function name="aero/coefficient/CDgear">
                <description>Drag_due_to_gear</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>gear/gear-pos-norm</property>
                    <value>0.0110</value>
                </product>
            </function>
            <documentation>
               0.0170 replaced by 0.0 : ctrl-B enables speedbrakes.
            </documentation>
            <function name="aero/coefficient/CDsb">
                <description>Drag_due_to_speedbrakes</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>fcs/speedbrake-pos-norm</property>
                    <value>0.0</value>
                </product>
            </function>
            <function name="aero/coefficient/CDbeta">
                <description>Drag_due_to_sideslip</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                      <table>
                          <independentVar>aero/beta-rad</independentVar>
                          <tableData>
                              -1.5700   1.2300
                              -0.2600   0.0500
                               0.0000   0.0000
                               0.2600   0.0500
                               1.5700   1.2300
                          </tableData>
                      </table>
                </product>
            </function>
            <documentation>
              - drag is always positiv.
              - divide by 10.
         -Default value 0.0055
            </documentation>
            <function name="aero/coefficient/CDde">
                <description>Drag_due_to_Elevator_Deflection</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <abs>
                     <property>fcs/elevator-pos-norm</property>
                    </abs>
                    <value>0.055</value>
                </product>
            </function>
        </axis>

        <axis name="SIDE">
            <function name="aero/coefficient/CYb">
                <description>Side_force_due_to_beta</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>aero/beta-rad</property>
                    <value>-1.0000</value>
                </product>
            </function>
        </axis>

        <axis name="LIFT">
            <documentation>
             Add Mach 0.0 and 0.6 :
             - decrease (0 and x1/3 at 0 radian) landing lift to get 10 pitch;
             - decrease climb lift to get 10 pitch;
             - at low speed, lift is better (x0.75) at high AOA, because of vortex over the wing.

             Add Mach above 0.8 :
             - transonic (Mach 1.06) shifts the curve vertically (XB-70).
             - supersonic (above Mach 1.18) shifts the curve vertically (XB-70).
             - adjust consumption during supersonic cruise : drag increases with alpha.
            </documentation>
            <function name="aero/coefficient/CLalpha">
                <description>Lift_due_to_alpha</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>aero/function/kCLge</property>
                      <table>
                          <independentVar lookup="row">aero/alpha-rad</independentVar>
                          <independentVar lookup="column">velocities/mach</independentVar>
                          <tableData>
                                      0.0      0.6      0.8      1.0      1.06     1.18     1.65     2.10
                              -0.20  -0.227   -0.227   -0.680   -0.680   -0.700   -0.680   -0.780   -0.880
                               0.00   0.000    0.067    0.200    0.200    0.180    0.200    0.100    0.060
                               0.23   0.900    0.900    1.200    1.200    1.180    1.200    1.100    1.100
                               0.60   0.200    0.200    0.600    0.600    0.580    0.600    0.500    0.400
                          </tableData>
                      </table>
                </product>
            </function>
            <documentation>
              changed 1.5 to 0.0 : used flaps as nose.
            </documentation>
            <function name="aero/coefficient/dCLflap">
                <description>Delta_Lift_due_to_flaps</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>fcs/flap-cmd-norm</property>
                    <value>0.0000</value>
                </product>
            </function>
           <documentation>
               -0.0800 replaced by 0.0 : ctrl-B enables speedbrakes.
            </documentation>
            <function name="aero/coefficient/dCLsb">
                <description>Delta_Lift_due_to_speedbrake</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>fcs/speedbrake-pos-norm</property>
                    <value>0.0</value>
                </product>
            </function>
            <function name="aero/coefficient/CLde">
                <description>Lift_due_to_Elevator_Deflection</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>fcs/elevator-pos-rad</property>
                    <value>0.2000</value>
                </product>
            </function>
        </axis>

        <axis name="ROLL">
            <function name="aero/coefficient/Clb">
                <description>Roll_moment_due_to_beta</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>aero/beta-rad</property>
                    <value>-0.1000</value>
                </product>
            </function>
            <function name="aero/coefficient/Clp">
                <description>Roll_moment_due_to_roll_rate</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>aero/bi2vel</property>
                    <property>velocities/p-aero-rad_sec</property>
                    <value>-0.4000</value>
                </product>
            </function>
            <function name="aero/coefficient/Clr">
                <description>Roll_moment_due_to_yaw_rate</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>aero/bi2vel</property>
                    <property>velocities/r-aero-rad_sec</property>
                    <value>0.1500</value>
                </product>
            </function>
            <function name="aero/coefficient/Clda">
                <description>Roll_moment_due_to_aileron</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>fcs/left-aileron-pos-rad</property>
                      <table>
                          <independentVar>velocities/mach</independentVar>
                          <tableData>
                              0.0000   0.1000
                              2.0000   0.0330
                          </tableData>
                      </table>
                </product>
            </function>
            <function name="aero/coefficient/Cldr">
                <description>Roll_moment_due_to_rudder</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>fcs/rudder-pos-rad</property>
                    <value>0.0100</value>
                </product>
            </function>
        </axis>

        <axis name="PITCH">
            <function name="aero/coefficient/Cmalpha">
                <description>Pitch_moment_due_to_alpha</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/cbarw-ft</property>
                    <property>aero/alpha-rad</property>
                    <value>-0.7000</value>
                </product>
            </function>
            <function name="aero/coefficient/Cmde">
                <description>Pitch_moment_due_to_elevator</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/cbarw-ft</property>
                    <property>fcs/elevator-pos-rad</property>
                      <table>
                          <independentVar>velocities/mach</independentVar>
                          <tableData>
                              0.0000   -1.3000
                              2.0000   -0.3250
                          </tableData>
                      </table>
                </product>
            </function>
            <function name="aero/coefficient/Cmq">
                <description>Pitch_moment_due_to_pitch_rate</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/cbarw-ft</property>
                    <property>aero/ci2vel</property>
                    <property>velocities/q-aero-rad_sec</property>
                    <value>-21.0000</value>
                </product>
            </function>
            <function name="aero/coefficient/Cmadot">
                <description>Pitch_moment_due_to_alpha_rate</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/cbarw-ft</property>
                    <property>aero/ci2vel</property>
                    <property>aero/alphadot-rad_sec</property>
                    <value>-4.0000</value>
                </product>
            </function>
        </axis>

        <axis name="YAW">
            <function name="aero/coefficient/Cnb">
                <description>Yaw_moment_due_to_beta</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>aero/beta-rad</property>
                    <value>0.1200</value>
                </product>
            </function>
            <function name="aero/coefficient/Cnr">
                <description>Yaw_moment_due_to_yaw_rate</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>aero/bi2vel</property>
                    <property>velocities/r-aero-rad_sec</property>
                    <value>-0.1500</value>
                </product>
            </function>
            <function name="aero/coefficient/Cndr">
                <description>Yaw_moment_due_to_rudder</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>fcs/rudder-pos-rad</property>
                    <value>-0.1000</value>
                </product>
            </function>
            <function name="aero/coefficient/Cnda">
                <description>Adverse_yaw</description>
                <product>
                    <property>aero/qbar-psf</property>
                    <property>metrics/Sw-sqft</property>
                    <property>metrics/bw-ft</property>
                    <property>fcs/left-aileron-pos-rad</property>
                    <value>0.0000</value>
                </product>
            </function>
        </axis>
    </aerodynamics>


If you want to try.

And i show you the part of the documentary i saw. If i don't have the right to post it, tell me.

https://youtu.be/BhbcH3pAPSI?t=776

So tell me what you think. :)

And for the Flight Engineer panel, i though about taking th model of roof panel switches and puting them on the place of the actual 2D switches, but i don't understand yet how the code works on the Panel and Model folder. :s
User avatar
fmanu
 
Posts: 19
Joined: Fri Apr 03, 2020 11:26 am
Callsign: F-MANU
OS: Archlinux

Re: Concorde cockpit redesign

Postby V12 » Wed Apr 08, 2020 3:17 pm

Try third approach - make table for drag from elevon's deflection due trim without ballancing with fuel.
One small warning - this Concorde has a bit powerfull engines than in the reality - check thrust tables. Real engines had around 10000 lbs at FL500 and M2.0. I had trouble with Advanced weather engine and its sudden pressure, wind speed and directions changes.
I ceased Concorde development, make Your own fork and continue where I ended.
Fly high, fly fast - fly Concorde !
User avatar
V12
 
Posts: 2143
Joined: Thu Jan 12, 2017 4:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby fmanu » Sat Apr 11, 2020 10:19 am

I found something good for FDM. I'm satisfied.

I asked myself something else. I think that the switches models you made are enough, but i'm lost with the xml code. We must mention animation, properties etc. Did you place the gauges by text or with a graphical editor?
User avatar
fmanu
 
Posts: 19
Joined: Fri Apr 03, 2020 11:26 am
Callsign: F-MANU
OS: Archlinux

Re: Concorde cockpit redesign

Postby V12 » Sat Apr 11, 2020 10:50 am

I used both method. First attempt was with xml placed instruments, but it was impossible generate lightmap. Then I joined all unmovable instrument's parts with cockpit and baked texture and lightmap. Movable parts are in xml for animation.
Fly high, fly fast - fly Concorde !
User avatar
V12
 
Posts: 2143
Joined: Thu Jan 12, 2017 4:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby fmanu » Sat Apr 11, 2020 3:31 pm

I think i have a begining. It's on the tank 5 :)

Image
Image

I will stop here for today. I think i know why you stopped developping this plane. It's important to be reasonable.

I have just one problem: The 2d instruments recovers my switch. It's hard to find it when i place it. Do you know how to display the 3D switch over the 2D instruments?
User avatar
fmanu
 
Posts: 19
Joined: Fri Apr 03, 2020 11:26 am
Callsign: F-MANU
OS: Archlinux

Re: Concorde cockpit redesign

Postby V12 » Sat Apr 11, 2020 7:03 pm

Find model for engineer's rack and manually add all 3D instruments.
Good luck.

BTW, reason, why I stopped development of this plane is absolutly different.
Fly high, fly fast - fly Concorde !
User avatar
V12
 
Posts: 2143
Joined: Thu Jan 12, 2017 4:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby WoodSTokk » Sat Apr 11, 2020 7:57 pm

You need some measurements or relations to devices where you know the size and good photos to model it as good as you can in blender.
You need to model all instruments. I have modelled some instruments and i sit some days on one simple instrument to get it perfect.
If i see the panel in the screenshot, i can say you need months for that. Dont rush, take your time and build it relaxed and accurate as possible.
At the end, fit it together to the whole panel and animate it.
Its not easy and its not a work for one evening or a weekend.

As example, the new KAP 140 i have build completely new and it takes 2 weeks (working every day). Many hours of searching for pictures and looking videos. Compare dimensions and relations in size to build it accurate as possible. But at the end there is a realy nice new device.
WoodSTokk
 
Posts: 742
Joined: Tue Oct 17, 2017 2:30 pm
Location: Milky Way/Sol/Earth/Europe
Callsign: OE-WST
IRC name: WoodSTokk
Version: 2020.3.0
OS: Debian Buster

Re: Concorde cockpit redesign

Postby fmanu » Sun Apr 12, 2020 12:00 pm

A small update :)

Image

To be honest, i do not master Blender. For now, i'm only doing by text, by xml. It would be good if i could edit the panel graphically with Blender, using the xml files and the ac files. But i don't know how.

I have another problem. The 2d gauges are covering my switches. I don't know how to solve the problem.

The third problem is that i'm not sure that the switches are really on the panel wall, maybe a little in front. I do by trial and error, step by step.

But it would be good if i could fix all the switches to the engineer panel, but i don't know how to do, i'm really in a learning phase.

Thank you for your answers. :)
User avatar
fmanu
 
Posts: 19
Joined: Fri Apr 03, 2020 11:26 am
Callsign: F-MANU
OS: Archlinux

Re: Concorde cockpit redesign

Postby WoodSTokk » Sun Apr 12, 2020 7:05 pm

If have also started like you. I was allways impressed what people can do in 3D. I know blender only from the name, but have never do something.
Now, more than 2 years in FG, i improve aircraft models in blender, including animation, texture and effects.

Blender has a steep learning curve, but if you are familiar with the interface, you can do great things.
There is a plug-in for blender to Import/Export ac-files. So you can import the actual model of the cockpit and see how it looks in blender.
Or ask V12 to upload his blend-files, so you don't need to convert the ac-file in blend-file.
I'm sorry i can't help more, but i'm actually also in blender and improve a aircraft model ;)
WoodSTokk
 
Posts: 742
Joined: Tue Oct 17, 2017 2:30 pm
Location: Milky Way/Sol/Earth/Europe
Callsign: OE-WST
IRC name: WoodSTokk
Version: 2020.3.0
OS: Debian Buster

Re: Concorde cockpit redesign

Postby V12 » Mon Apr 13, 2020 6:02 am

I have not that files. Best way is import .ac file into the Blender.
Fly high, fly fast - fly Concorde !
User avatar
V12
 
Posts: 2143
Joined: Thu Jan 12, 2017 4:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby WoodSTokk » Mon Apr 13, 2020 1:22 pm

V12 wrote in Mon Apr 13, 2020 6:02 am:I have not that files. Best way is import .ac file into the Blender.

I was first exposed you have improved the 3d model? Or was it only the FDM?
Anyway, to build nice panels for the flight engineer, the modeller need some hi-res photos and measurements will also help.
Have some information about that?
WoodSTokk
 
Posts: 742
Joined: Tue Oct 17, 2017 2:30 pm
Location: Milky Way/Sol/Earth/Europe
Callsign: OE-WST
IRC name: WoodSTokk
Version: 2020.3.0
OS: Debian Buster

Re: Concorde cockpit redesign

Postby V12 » Mon Apr 13, 2020 5:26 pm

Yes, I improved 3D model. I upgraded my PC and in that process I lost all .blend files, but that files were not important for me. Import .ac models into Blender is perfectly working.
I have not any other informations about engineer panel. Some instruments missing, or they are depicted as displays, not standard clocks with needles. Ask uncle Google, he will find many good images of that panel.
Fly high, fly fast - fly Concorde !
User avatar
V12
 
Posts: 2143
Joined: Thu Jan 12, 2017 4:27 pm
Location: LZIB
Callsign: BAWV12

Re: Concorde cockpit redesign

Postby WoodSTokk » Mon Apr 13, 2020 5:49 pm

I found allready this page https://www.heritageconcorde.com/flightdeck-detail.
Anyway, actually i have no time for it, but maybe there are other modeller that have time and this pictures are enough.
WoodSTokk
 
Posts: 742
Joined: Tue Oct 17, 2017 2:30 pm
Location: Milky Way/Sol/Earth/Europe
Callsign: OE-WST
IRC name: WoodSTokk
Version: 2020.3.0
OS: Debian Buster

Re: Concorde cockpit redesign

Postby fmanu » Mon Apr 13, 2020 7:44 pm

Yes. I like this website. :)

But for ac files for Blender, i know addons to export and import ac files, but they are not compatible with the last version of Blender. Maybe i should install an earlier version of Blender. Do you think it's possible to use xml files on blender?

For now, i can do without Blender, but if i want 3D secured switches, i will have to draw them. :)

Thank you WoodSTock for your encouragements too. :)
User avatar
fmanu
 
Posts: 19
Joined: Fri Apr 03, 2020 11:26 am
Callsign: F-MANU
OS: Archlinux

Re: Concorde cockpit redesign

Postby V12 » Tue Apr 14, 2020 12:20 pm

Check http://www.concordesst.com/detailpics.html too.
If You will model secured switches, please do not repeat my error and reduce polygon count as many as You can. Overhead panel with all switches and lights has almost 27k polygons and 4.5 MB :(
Fly high, fly fast - fly Concorde !
User avatar
V12
 
Posts: 2143
Joined: Thu Jan 12, 2017 4:27 pm
Location: LZIB
Callsign: BAWV12

PreviousNext

Return to Cockpit development

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest