You should learn how to look up help information. You can use C-h f to look up help for any function. If you look up the help for the require function, you will see this:
(require FEATURE &optional FILENAME NOERROR)
If FEATURE is not already loaded, load it from FILENAME.
If FEATURE is not a member of the list features, then the feature was
not yet loaded; so load it from file FILENAME.
If FILENAME is omitted, the printname of FEATURE is used as the file
name, and [blah blah blah].
To find the file, this function searches the directories in load-path.
That last line is the information you need. When you load a file, it looks at the load-path variable, expecting to find a list of strings where each string is the name of a directory. It doesn’t look in the default-directory, which just tells Emacs where to save the file you have opened in the current buffer.
Incidentally, C-h ? will show you a list of all the things you can ask for help information on. You can answer virtually any question you have with the built–in help.