[docs]defmain(arg_list:list[str]|None=None):""" Evaluates the command line and runs the simulation. Args: arg_list: List of command line arguments """ifsolvers.size>1:# Ensure MPI global variables are initializedfrom.solvers.mpiimportinitialize_mpiinitialize_mpi()args=parse_args(arg_list)logging.basicConfig(level=args.verbosity,format="%(message)s")Solver=solvers.get_solver_class(args.solver)s=Solver(**vars(args))ifsolvers.rank==0:# Display the solver parameterslogging.info(s)s.run()s.save()