pymordemos.data_driven_instationary

Module Contents

pymordemos.data_driven_instationary.create_fom(problem_number, grid_intervals, time_steps)[source]
pymordemos.data_driven_instationary.discretize_navier_stokes(n, nt)[source]
pymordemos.data_driven_instationary.main(problem_number: int = Argument(..., min=0, max=1, help='Selects the problem to solve [0 or 1].'), regressor: Choices('fcnn vkoga gpr') = Argument(..., help="Regressor to use. Options are neural networks using PyTorch, pyMOR's VKOGA algorithm or Gaussian process regression using scikit-learn."), grid_intervals: int = Argument(..., help='Grid interval count.'), time_steps: int = Argument(..., help='Number of time steps used for discretization.'), training_samples: int = Argument(..., help='Number of samples used for computing the reduced basis and training the regressor.'), fv: bool = Option(False, help='Use finite volume discretization instead of finite elements.'), vis: bool = Option(False, help='Visualize full order solution and reduced solution for a test set.'), validation_ratio: float = Option(0.1, help='Ratio of training data used for validation of the neural networks.'), time_vectorized: bool = Option(False, help='Predict the whole time trajectory at once or iteratively.'), input_scaling: bool = Option(False, help='Scale the input of the regressor (i.e. the parameter).'), output_scaling: bool = Option(False, help='Scale the output of the regressor (i.e. reduced coefficients or output quantity.'))[source]

Model order reduction with machine learning methods for instationary problems.

Problem number 0 considers the incompressible Navier-Stokes equations in a two-dimensional cavity with the Reynolds number as parameter. The discretization is based on FEniCS.

Problem number 1 considers a parametrized Burgers equation on a one-dimensional domain. The discretization is based on pyMOR’s built-in functionality.