def METHOD_NAME(self):
    tacs_options = {
        "element_callback": element_callback,
        "problem_setup": problem_setup,
        "buckling_setup": buckling_setup,
        "mesh_file": bdf_file,
    }
    tacs_builder = tacs.mphys.TacsBuilder(
        tacs_options,
        check_partials=True,
        coupled=True,
        write_solution=False,
    )
    tacs_builder.initialize(self.comm)
    ndv_struct = tacs_builder.get_ndv()
    dvs = self.add_subsystem("dvs", om.IndepVarComp(), promotes=["*"])
    dvs.add_output("dv_struct", np.array(ndv_struct * [0.01]))
    f_size = tacs_builder.get_ndof() * tacs_builder.get_number_of_nodes()
    forces = self.add_subsystem("forces", om.IndepVarComp(), promotes=["*"])
    f = np.zeros(f_size)
    f[1::3] = -1e0
    forces.add_output("f_struct", val=np.ones(f_size), distributed=True)
    self.add_subsystem("mesh", tacs_builder.get_mesh_coordinate_subsystem())
    self.mphys_add_scenario(
        "analysis", ScenarioStructural(struct_builder=tacs_builder)
    )
    self.connect("mesh.x_struct0", "analysis.x_struct0")
    self.connect("dv_struct", "analysis.dv_struct")
    self.connect("f_struct", "analysis.f_struct")