{"id":32656706,"url":"https://github.com/openmdao/revhack2020","last_synced_at":"2025-10-31T11:06:25.523Z","repository":{"id":53340940,"uuid":"290073310","full_name":"OpenMDAO/RevHack2020","owner":"OpenMDAO","description":"OpenMDAO 2020 Reverse Hackathon ","archived":false,"fork":false,"pushed_at":"2024-08-23T22:55:59.000Z","size":8435,"stargazers_count":14,"open_issues_count":7,"forks_count":18,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-08-23T23:51:32.966Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenMDAO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-25T00:42:48.000Z","updated_at":"2024-08-23T22:56:03.000Z","dependencies_parsed_at":"2022-09-03T04:21:54.705Z","dependency_job_id":null,"html_url":"https://github.com/OpenMDAO/RevHack2020","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OpenMDAO/RevHack2020","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMDAO%2FRevHack2020","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMDAO%2FRevHack2020/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMDAO%2FRevHack2020/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMDAO%2FRevHack2020/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenMDAO","download_url":"https://codeload.github.com/OpenMDAO/RevHack2020/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMDAO%2FRevHack2020/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281976636,"owners_count":26592973,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-31T02:00:07.401Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-31T11:06:22.050Z","updated_at":"2025-10-31T11:06:25.517Z","avatar_url":"https://github.com/OpenMDAO.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# OpenMDAO RevHack 2020\n\nRevHack is a reverse hackathon where the OM users propose problems to be solved and then the dev team tries to solve them! \nThe primary dev team goal is to gain a better understanding of the use cases that users are struggling with, and to learn to see our framework through your eyes. \n\nWhat you get out of it is two-fold: \n1) We solves some problems for you \n2) We go into detail about our thought process and justifications for how we solved them, so you can learn something about how we see things. \n \n## Problem Solutions\n\n### The ones we finished \n* OpenAeroStruct+VSP to optimize an aircraft subject stability constraints\n* [eVTOL takeoff optimization with Dymos][prob-evtol]\n* [Nested optimizations][prob-nested]\n* [Optimize an OpenMDAO model with CMA-ES optimizer][prob-cma_es]\n* [Unsteady VLM simulation][prob-unsteady-vlm]\n\n### The ones we didn't get to\n* OpenAeroStruct+Dymos for aircraft trajectory optimization\n* Integrate an OpenAeroStruct analysis into a Dymos trajectory analysis model (@shamsheersc19)\n\n## General solution approaches: \n\nOver the course of solving the problems we noticed a few general themes that were worth discussing in more detail.\nThese topics involve general model building practices and concepts, and don't deal with specific solutions. \n\n* [Building an OpenVSP Component][openvsp] -- Google Colab workbook that builds an OpenVSP component\n* [You don't have to use a driver!][no-driver] -- Exploit the parts you like, leave the parts you don't! \n* [Sub-problems][subproblem] -- They are pretty handy in some situations! \n* [How big should I make my components?][how-big] --- How many lines of code should I aim for? \n* [Unsteady/transient analysis in OpenMDAO][unsteady] --- There is a right way, and some other right ways!\n\n\n[no-driver]: ./solution_approaches/no_driver.md\n[subproblem]: ./solution_approaches/sub_problems.md\n[unsteady]: ./solution_approaches/unsteady_analysis.md\n[how-big]: ./solution_approaches/how_big.md\n[openvsp]: ./solution_approaches/OpenVSP_OpenMDAO/OpenVSPwithOpenMDAO.ipynb\n\n[prob-evtol]: ./problems/evtol_trajectory\n[prob-nested]: ./problems/nested_optimization\n[prob-unsteady-vlm]: ./problems/unsteady_vlm\n[prob-cma_es]: ./problems/cma_es\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmdao%2Frevhack2020","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmdao%2Frevhack2020","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmdao%2Frevhack2020/lists"}