Difference between revisions of "Customization"
Zigavaupotic (talk | contribs) (→Custom operators: Biharmonic equation) |
|||
Line 7: | Line 7: | ||
TODO | TODO | ||
− | == Custom operators: | + | == Custom operators: Hyperviscosity operator == |
− | |||
− | + | Medusa library also allows custom linear operators $ \mathcal{L} $ to be used. This functionality is achieved by adding a child struct that inherits the struct Operator. The virtual functions of struct Operator that need to be defined are ''apply'' and ''applyAt0'', the functions require one to also specify the basis to which the operator is applied. For example if one was to define the hyperviscosity operator denoted as $\nabla^{2\alpha}$, we would say that the RBF-FD approximation is, | |
− | + | $$ | |
− | $ | + | \nabla^{2\alpha} u \approx \sum_{i=0}^n u_i \nabla^{2\alpha} \Psi_i (u) + \sum_{j=0}^\ell \nabla^{2\alpha}\beta_{i} u_i |
− | \ | + | $$ |
− | |||
− | |||
− | |||
− | |||
− | $ | ||
− | |||
− | |||
− |
Revision as of 13:26, 12 July 2024
Medusa library support users defining custom basis types, weights, operators and more, as long as they conform to the prescribed interfaces, given in the Concepts page.
Custom stencil selection
TODO
Custom RBF definition
TODO
Custom operators: Hyperviscosity operator
Medusa library also allows custom linear operators $ \mathcal{L} $ to be used. This functionality is achieved by adding a child struct that inherits the struct Operator. The virtual functions of struct Operator that need to be defined are apply and applyAt0, the functions require one to also specify the basis to which the operator is applied. For example if one was to define the hyperviscosity operator denoted as $\nabla^{2\alpha}$, we would say that the RBF-FD approximation is, $$ \nabla^{2\alpha} u \approx \sum_{i=0}^n u_i \nabla^{2\alpha} \Psi_i (u) + \sum_{j=0}^\ell \nabla^{2\alpha}\beta_{i} u_i $$