:orphan:
# TSMPRKRegister
register a `TSMPRK` scheme by providing the entries in the Butcher tableau 
## Synopsis
```
#include "petscts.h"   
PetscErrorCode TSMPRKRegister(TSMPRKType name, PetscInt order, PetscInt sbase, PetscInt ratio1, PetscInt ratio2, const PetscReal Asb[], const PetscReal bsb[], const PetscReal csb[], const PetscInt rsb[], const PetscReal Amb[], const PetscReal bmb[], const PetscReal cmb[], const PetscInt rmb[], const PetscReal Af[], const PetscReal bf[], const PetscReal cf[])
```
Not Collective, but the same schemes should be registered on all processes on which they will be used


## Input Parameters

- ***name -*** identifier for method
- ***order -*** approximation order of method
- ***sbase  -*** number of stages in the base methods
- ***ratio1 -*** stepsize ratio at 1st level (e.g. slow/medium)
- ***ratio2 -*** stepsize ratio at 2nd level (e.g. medium/fast)
- ***Af -*** stage coefficients for fast components(dimension s*s, row-major)
- ***bf -*** step completion table for fast components(dimension s)
- ***cf -*** abscissa for fast components(dimension s)
- ***As -*** stage coefficients for slow components(dimension s*s, row-major)
- ***bs -*** step completion table for slow components(dimension s)
- ***cs -*** abscissa for slow components(dimension s)





## Note
Several `TSMPRK` methods are provided, this function is only needed to create new methods.


## See Also
 [](ch_ts), `TSMPRK`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ts/impls/multirate/mprk.c.html#TSMPRKRegister">src/ts/impls/multirate/mprk.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/impls/multirate/mprk.c)


[Index of all TS routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
