You \'ve seen the waves roll over the coast, and when swimmers and boogie boarders wash the foam on the beach, they\'re all swallowed up by the waves. Now imagine those waves, only a few hundred feet high, approaching the beach on an hour rather than a second time scale! Does this sound surreal? Meet internal waves: bigger waves in the ocean. Fortunately, for ships sailing on the seven oceans, these waves are not noticed by most passers-by because they form directly below the surface of the ocean-secretly disrupting the heat around the ocean, The purpose of this instructable is to create a desktop-scale internal wave generator-a simplified model of an invisible ocean and its various undersea terrain. By building a device that allows students to visualize internal waves, we can generate important insights into the features of unknown ocean mixing and energy exchange in current climate models. You can learn more about the internal wave and the design process on the following website: BOM lists all the parts we use to build the internal wave tank. We tried to make the building as accessible as possible, so we linked the cheapest material and listed a replacement for the parts. Material: Tools: to cut acrylic parts, we include an illustrator file for vector cutting that will create a water tank with the dimensions shown in the attached image. If you can already use tanks or bins, please skip this step. Otherwise, align the edge of the tank with an acrylic adhesive. To assemble the tank, please refer to the image above as a guide. The tank consists of 5 pieces: two longer edges ( Marked as A and B) Two shorter sides ( Marked D and E) , And bottom (labeled as C). The sixth piece (labeled as F) Later used as a push Wall, this will stir the water inside the tank. The picture above is colored. Describes the encoding of which edges should be connected. The finished product should look like the first attached image. To install the valve, gently insert the thread into the opening on the acrylic resin. Screw in (gently! ) Until very tight. Align the valve so it faces up. Once aligned, stay in place with hot glue or acrylic glue. After the adhesive is dry, apply silicone sealant to prevent leakage. Acrylic adhesive needs 24-72 hours. Make sure to give your tank once without any water! Once the tank is dry, we recommend lining the connected edge with a sealant or caulking agent to prevent leakage. If you have never used a micro controller or an electronic product, don\'t be afraid; Ardunos is very simple and we have outlined everything that is needed for the unit to work properly, including the code needed for the motor to run. This code is also customizable, with specific instructions for customization in the comments of the code. First, download the Arduino Software to your computer. Create a new script and paste or open the additional Arduino code for the servo motor. Using the A-male to B- Male USB cable, connect Arduino Uno to computer. Connect the servo motor to the Arduino according to the following figure. The red wire is connected to the 5v input, the black wire is connected to the ground, and the yellow wire is connected to pin 9. Once the device is connected, verify the code and upload it to the Arduino. After uploading, the servo motor should rotate between two positions until the code is manually terminated. If the positioning of the servo works for your tank, the Arduino can be disconnected from the computer and powered with a 9v power adapter. Use the attached CAD file to 3D- Print the part of the crank arm and assemble it as shown below. It takes about an hour depending on the printer. The two arms are simply connected with a pin joint, and one arm is attached to the ball joint. If you can\'t access 3D- Printer, can use any solid shaft to construct the crank arm; In our prototype, we Stick the two popsicles to some spare parts and connect them as pin joints. Next, connect the crank arm to the servo motor and the push plate wall. The crank arm with a free end should be hot- Stick to the rotor on the servo motor. The ball joint on the second crank arm should be connected to the center of the pushing Wall. This can be done using velcro or hot glue. Model the clay using Sculpey to form the clay to approximate the desired path to match the push plate wall. The exact size may vary depending on the width of the tank and the extension of the push wall. Once the clay forms the desired shape, bake in the oven at 200 degrees F for 20 minutes. Remove it from the oven using oven gloves or other protective clothing and let it cool for an hour. For this demo, we want to make sure that multiple terrain can be used in order to match the visualization with different simulations. We made the terrain with acrylic and sheet metal, but many materials can be replaced when rebuilding this project. As shown in the first picture, attach a velcro to the top of the tank. Connect the corresponding velcro to the servo system. Place the clay track at the bottom of the tank, about 3 \"away from the side as shown in the second image. Glue the clay track to the bottom of the tank with heat. Attach the flat part of the crank arm to the top center of the push wall with hot glue. Attach the crank arm to the servo arm with tape or hold it in place temporarily. It may take some attempts and errors to set the wall and servo properly. Test the arduino code immediately to make sure everything runs smoothly. You can change the position or delay to allow waves that are stronger, faster or slower, cleaner. Connect one side of velcro to the bottom of the tank. The other side will be connected to a movable terrain. Insert terrain-- Please note that we have chosen to create a rectangular prism, a triangular shelf and a sloping ramp that is a simplification of the Sea Mountain, the sea-bottom ridge, and the coastline, respectively. The terrain can replicate many undersea lands with any waterproof, molded material, and we encourage creativity when building them. Fill the water tank with dyed water (first) Mineral oil (second). Ensure oil- As shown, the water boundary reaches the top of the terrain to be used in the demo. To add the liquid to a smaller tank, or if splash is required, fill the tank with a hose and vacuum through the nozzle. Start the servo motor and observe the internal waves in the action. To empty the tank, just drain the water using the valve. If you need it, you can save mine oil for future experiments.