ODE DeepONet System Solve Class

Class which is returned in solveODE_DeepONetSystem_IVP calls

ode_SystemDeepONetsolution

Name of class returned

__init__(eqns, inits, t_bdry, N_pde, N_sensors, sensor_range, epochs, order, net_layers, net_units, flag)

Constructer for class.

Parameters:
  • eqns (list) –

    Equations to solve in form of list of strings. function and derivatives represented as "u", "ut", "utt", etc. for first equation. "x", "xt", etc. for second equation. "y", "yt", etc. for third equation. For including function, i.e. cos(u), use tf.cos(u), or for ln(t), np.log(t). Write equation as would be written in code.

  • inits (list) –

    list of lists of inital data for each deriviatve. Previously descirbed orders would have [[ u(t0) ], [ x(t0), xt(t0), xtt(t0) ], [ y(t0), yt(t0) ]], with t0 being inital t in t_bdry.

  • t_bdry (list) –

    list of two elements, the interval of t to be solved on.

  • N_pde (int) –

    Number of randomly sampled collocation points along t which DeepONet uses in training.

  • N_sensors (int) –

    Number of sensors in which network learns over.

  • sensor_range (list) –

    range in which sensors are sampled over.

  • epochs (int) –

    Number of epochs DeepONet gets trained for.

  • order (list) –

    list of orders of equations (highest derivative used). Can be 1-3. ex. [1, 3, 2], corresponding to a highest derivative of "ut", "xttt", "ytt".

  • net_layers (int) –

    Number of internal layers of DeepONet

  • net_units (int) –

    Number of units in each internal layer

  • flag (string) –

    Flag for internal use to identify which equation is being solved.

Constructer calls PINNtrainSelect_DeepONet function to train, where all points are defined and solution prediction is generated within training file.

Class Functions

Fucntions the user should call to access information from solveODE call. Getter functions, Plotter functions, and time stepping function

Getters

get_equations()

Return input equation

get_inits()

Return input initial data

get_t_bdry()

Return input t_bdry

get_N_pde()

Return input N_pde

get_epochs()

Return input epochs

get_order()

Return input orders

get_flag()

Return internal flag

get_N_sensors()

Return input N_sensors

get_sensor_range()

Return input sensor_range

get_net_layers()

Return input net_layers

get_net_units()

Return input net_units

get_loss()

Return model total loss

get_t_points()

Return sampled t points

get_solution_prediction()

Return model solution prediction

get_params()

Return model parameters

get_model()

Return model

get_de_points()

Return sampled de points

get_sensors()

Return sensors

Plotters

plot_epoch_loss(filetitle='ODE-Epoch-Loss')

Calls ode_Plotters.plot_epoch_loss with correct data

Parameters:
  • filetitle (string, default: 'ODE-Epoch-Loss' ) –

    Title of saved file

plot_solution_prediction(filetitle='ODE-solution-pred')

Calls ode_Plotters.plot_solution_prediction with correct data

Parameters:
  • filetitle (string, default: 'ODE-solution-pred' ) –

    Title of saved file

plot_predicted_exact(exact_eqn, filetitle='ODE-SolPred-Exact')

Calls ode_Plotters.plot_predicted_exact with correct data

Parameters:
  • exact_eqn (lambda) –

    Exact solution of equation as a python lambda function

  • filetitle (string, default: 'ODE-SolPred-Exact' ) –

    Title of saved file

Time Stepper

timeStep(steps, filetitle='ODE-TimeStep-Pred')

Calls ode_TimeSteppers function for corresponding equation type

Parameters:
  • steps (int) –

    steps to timestep DeepONet. If original range was [0,2], and steps = 4, then timestep will be on [0, 8]

  • filetitle (string, default: 'ODE-TimeStep-Pred' ) –

    Title of saved file