Lines Matching refs:lim
73 PetscErrorCode PetscLimiterSetType(PetscLimiter lim, PetscLimiterType name) in PetscLimiterSetType() argument
79 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterSetType()
80 PetscCall(PetscObjectTypeCompare((PetscObject)lim, name, &match)); in PetscLimiterSetType()
85 …PetscCheck(r, PetscObjectComm((PetscObject)lim), PETSC_ERR_ARG_UNKNOWN_TYPE, "Unknown PetscLimiter… in PetscLimiterSetType()
87 PetscTryTypeMethod(lim, destroy); in PetscLimiterSetType()
88 lim->ops->destroy = NULL; in PetscLimiterSetType()
90 PetscCall((*r)(lim)); in PetscLimiterSetType()
91 PetscCall(PetscObjectChangeTypeName((PetscObject)lim, name)); in PetscLimiterSetType()
110 PetscErrorCode PetscLimiterGetType(PetscLimiter lim, PetscLimiterType *name) in PetscLimiterGetType() argument
113 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterGetType()
116 *name = ((PetscObject)lim)->type_name; in PetscLimiterGetType()
155 PetscErrorCode PetscLimiterView(PetscLimiter lim, PetscViewer v) in PetscLimiterView() argument
158 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView()
159 if (!v) PetscCall(PetscViewerASCIIGetStdout(PetscObjectComm((PetscObject)lim), &v)); in PetscLimiterView()
160 PetscTryTypeMethod(lim, view, v); in PetscLimiterView()
176 PetscErrorCode PetscLimiterSetFromOptions(PetscLimiter lim) in PetscLimiterSetFromOptions() argument
183 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterSetFromOptions()
184 if (!((PetscObject)lim)->type_name) defaultType = PETSCLIMITERSIN; in PetscLimiterSetFromOptions()
185 else defaultType = ((PetscObject)lim)->type_name; in PetscLimiterSetFromOptions()
188 PetscObjectOptionsBegin((PetscObject)lim); in PetscLimiterSetFromOptions()
191 PetscCall(PetscLimiterSetType(lim, name)); in PetscLimiterSetFromOptions()
192 } else if (!((PetscObject)lim)->type_name) { in PetscLimiterSetFromOptions()
193 PetscCall(PetscLimiterSetType(lim, defaultType)); in PetscLimiterSetFromOptions()
195 PetscTryTypeMethod(lim, setfromoptions); in PetscLimiterSetFromOptions()
197 PetscCall(PetscObjectProcessOptionsHandlers((PetscObject)lim, PetscOptionsObject)); in PetscLimiterSetFromOptions()
199 PetscCall(PetscLimiterViewFromOptions(lim, NULL, "-petsclimiter_view")); in PetscLimiterSetFromOptions()
215 PetscErrorCode PetscLimiterSetUp(PetscLimiter lim) in PetscLimiterSetUp() argument
218 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterSetUp()
219 PetscTryTypeMethod(lim, setup); in PetscLimiterSetUp()
235 PetscErrorCode PetscLimiterDestroy(PetscLimiter *lim) in PetscLimiterDestroy() argument
238 if (!*lim) PetscFunctionReturn(PETSC_SUCCESS); in PetscLimiterDestroy()
239 PetscValidHeaderSpecific(*lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterDestroy()
241 if (--((PetscObject)*lim)->refct > 0) { in PetscLimiterDestroy()
242 *lim = NULL; in PetscLimiterDestroy()
245 ((PetscObject)*lim)->refct = 0; in PetscLimiterDestroy()
247 PetscTryTypeMethod(*lim, destroy); in PetscLimiterDestroy()
248 PetscCall(PetscHeaderDestroy(lim)); in PetscLimiterDestroy()
267 PetscErrorCode PetscLimiterCreate(MPI_Comm comm, PetscLimiter *lim) in PetscLimiterCreate() argument
272 PetscAssertPointer(lim, 2); in PetscLimiterCreate()
278 *lim = l; in PetscLimiterCreate()
333 PetscErrorCode PetscLimiterLimit(PetscLimiter lim, PetscReal flim, PetscReal *phi) in PetscLimiterLimit() argument
336 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterLimit()
338 PetscUseTypeMethod(lim, limit, flim, phi); in PetscLimiterLimit()
342 static PetscErrorCode PetscLimiterDestroy_Sin(PetscLimiter lim) in PetscLimiterDestroy_Sin() argument
344 PetscLimiter_Sin *l = (PetscLimiter_Sin *)lim->data; in PetscLimiterDestroy_Sin()
351 static PetscErrorCode PetscLimiterView_Sin_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Sin_Ascii() argument
361 static PetscErrorCode PetscLimiterView_Sin(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Sin() argument
366 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_Sin()
369 if (isascii) PetscCall(PetscLimiterView_Sin_Ascii(lim, viewer)); in PetscLimiterView_Sin()
373 static PetscErrorCode PetscLimiterLimit_Sin(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_Sin() argument
380 static PetscErrorCode PetscLimiterInitialize_Sin(PetscLimiter lim) in PetscLimiterInitialize_Sin() argument
383 lim->ops->view = PetscLimiterView_Sin; in PetscLimiterInitialize_Sin()
384 lim->ops->destroy = PetscLimiterDestroy_Sin; in PetscLimiterInitialize_Sin()
385 lim->ops->limit = PetscLimiterLimit_Sin; in PetscLimiterInitialize_Sin()
397 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Sin(PetscLimiter lim) in PetscLimiterCreate_Sin() argument
402 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_Sin()
404 lim->data = l; in PetscLimiterCreate_Sin()
406 PetscCall(PetscLimiterInitialize_Sin(lim)); in PetscLimiterCreate_Sin()
410 static PetscErrorCode PetscLimiterDestroy_Zero(PetscLimiter lim) in PetscLimiterDestroy_Zero() argument
412 PetscLimiter_Zero *l = (PetscLimiter_Zero *)lim->data; in PetscLimiterDestroy_Zero()
419 static PetscErrorCode PetscLimiterView_Zero_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Zero_Ascii() argument
429 static PetscErrorCode PetscLimiterView_Zero(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Zero() argument
434 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_Zero()
437 if (isascii) PetscCall(PetscLimiterView_Zero_Ascii(lim, viewer)); in PetscLimiterView_Zero()
441 static PetscErrorCode PetscLimiterLimit_Zero(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_Zero() argument
448 static PetscErrorCode PetscLimiterInitialize_Zero(PetscLimiter lim) in PetscLimiterInitialize_Zero() argument
451 lim->ops->view = PetscLimiterView_Zero; in PetscLimiterInitialize_Zero()
452 lim->ops->destroy = PetscLimiterDestroy_Zero; in PetscLimiterInitialize_Zero()
453 lim->ops->limit = PetscLimiterLimit_Zero; in PetscLimiterInitialize_Zero()
465 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Zero(PetscLimiter lim) in PetscLimiterCreate_Zero() argument
470 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_Zero()
472 lim->data = l; in PetscLimiterCreate_Zero()
474 PetscCall(PetscLimiterInitialize_Zero(lim)); in PetscLimiterCreate_Zero()
478 static PetscErrorCode PetscLimiterDestroy_None(PetscLimiter lim) in PetscLimiterDestroy_None() argument
480 PetscLimiter_None *l = (PetscLimiter_None *)lim->data; in PetscLimiterDestroy_None()
487 static PetscErrorCode PetscLimiterView_None_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_None_Ascii() argument
497 static PetscErrorCode PetscLimiterView_None(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_None() argument
502 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_None()
505 if (isascii) PetscCall(PetscLimiterView_None_Ascii(lim, viewer)); in PetscLimiterView_None()
509 static PetscErrorCode PetscLimiterLimit_None(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_None() argument
516 static PetscErrorCode PetscLimiterInitialize_None(PetscLimiter lim) in PetscLimiterInitialize_None() argument
519 lim->ops->view = PetscLimiterView_None; in PetscLimiterInitialize_None()
520 lim->ops->destroy = PetscLimiterDestroy_None; in PetscLimiterInitialize_None()
521 lim->ops->limit = PetscLimiterLimit_None; in PetscLimiterInitialize_None()
533 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_None(PetscLimiter lim) in PetscLimiterCreate_None() argument
538 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_None()
540 lim->data = l; in PetscLimiterCreate_None()
542 PetscCall(PetscLimiterInitialize_None(lim)); in PetscLimiterCreate_None()
546 static PetscErrorCode PetscLimiterDestroy_Minmod(PetscLimiter lim) in PetscLimiterDestroy_Minmod() argument
548 PetscLimiter_Minmod *l = (PetscLimiter_Minmod *)lim->data; in PetscLimiterDestroy_Minmod()
555 static PetscErrorCode PetscLimiterView_Minmod_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Minmod_Ascii() argument
565 static PetscErrorCode PetscLimiterView_Minmod(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Minmod() argument
570 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_Minmod()
573 if (isascii) PetscCall(PetscLimiterView_Minmod_Ascii(lim, viewer)); in PetscLimiterView_Minmod()
577 static PetscErrorCode PetscLimiterLimit_Minmod(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_Minmod() argument
584 static PetscErrorCode PetscLimiterInitialize_Minmod(PetscLimiter lim) in PetscLimiterInitialize_Minmod() argument
587 lim->ops->view = PetscLimiterView_Minmod; in PetscLimiterInitialize_Minmod()
588 lim->ops->destroy = PetscLimiterDestroy_Minmod; in PetscLimiterInitialize_Minmod()
589 lim->ops->limit = PetscLimiterLimit_Minmod; in PetscLimiterInitialize_Minmod()
601 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Minmod(PetscLimiter lim) in PetscLimiterCreate_Minmod() argument
606 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_Minmod()
608 lim->data = l; in PetscLimiterCreate_Minmod()
610 PetscCall(PetscLimiterInitialize_Minmod(lim)); in PetscLimiterCreate_Minmod()
614 static PetscErrorCode PetscLimiterDestroy_VanLeer(PetscLimiter lim) in PetscLimiterDestroy_VanLeer() argument
616 PetscLimiter_VanLeer *l = (PetscLimiter_VanLeer *)lim->data; in PetscLimiterDestroy_VanLeer()
623 static PetscErrorCode PetscLimiterView_VanLeer_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_VanLeer_Ascii() argument
633 static PetscErrorCode PetscLimiterView_VanLeer(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_VanLeer() argument
638 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_VanLeer()
641 if (isascii) PetscCall(PetscLimiterView_VanLeer_Ascii(lim, viewer)); in PetscLimiterView_VanLeer()
645 static PetscErrorCode PetscLimiterLimit_VanLeer(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_VanLeer() argument
652 static PetscErrorCode PetscLimiterInitialize_VanLeer(PetscLimiter lim) in PetscLimiterInitialize_VanLeer() argument
655 lim->ops->view = PetscLimiterView_VanLeer; in PetscLimiterInitialize_VanLeer()
656 lim->ops->destroy = PetscLimiterDestroy_VanLeer; in PetscLimiterInitialize_VanLeer()
657 lim->ops->limit = PetscLimiterLimit_VanLeer; in PetscLimiterInitialize_VanLeer()
669 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanLeer(PetscLimiter lim) in PetscLimiterCreate_VanLeer() argument
674 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_VanLeer()
676 lim->data = l; in PetscLimiterCreate_VanLeer()
678 PetscCall(PetscLimiterInitialize_VanLeer(lim)); in PetscLimiterCreate_VanLeer()
682 static PetscErrorCode PetscLimiterDestroy_VanAlbada(PetscLimiter lim) in PetscLimiterDestroy_VanAlbada() argument
684 PetscLimiter_VanAlbada *l = (PetscLimiter_VanAlbada *)lim->data; in PetscLimiterDestroy_VanAlbada()
691 static PetscErrorCode PetscLimiterView_VanAlbada_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_VanAlbada_Ascii() argument
701 static PetscErrorCode PetscLimiterView_VanAlbada(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_VanAlbada() argument
706 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_VanAlbada()
709 if (isascii) PetscCall(PetscLimiterView_VanAlbada_Ascii(lim, viewer)); in PetscLimiterView_VanAlbada()
713 static PetscErrorCode PetscLimiterLimit_VanAlbada(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_VanAlbada() argument
720 static PetscErrorCode PetscLimiterInitialize_VanAlbada(PetscLimiter lim) in PetscLimiterInitialize_VanAlbada() argument
723 lim->ops->view = PetscLimiterView_VanAlbada; in PetscLimiterInitialize_VanAlbada()
724 lim->ops->destroy = PetscLimiterDestroy_VanAlbada; in PetscLimiterInitialize_VanAlbada()
725 lim->ops->limit = PetscLimiterLimit_VanAlbada; in PetscLimiterInitialize_VanAlbada()
737 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_VanAlbada(PetscLimiter lim) in PetscLimiterCreate_VanAlbada() argument
742 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_VanAlbada()
744 lim->data = l; in PetscLimiterCreate_VanAlbada()
746 PetscCall(PetscLimiterInitialize_VanAlbada(lim)); in PetscLimiterCreate_VanAlbada()
750 static PetscErrorCode PetscLimiterDestroy_Superbee(PetscLimiter lim) in PetscLimiterDestroy_Superbee() argument
752 PetscLimiter_Superbee *l = (PetscLimiter_Superbee *)lim->data; in PetscLimiterDestroy_Superbee()
759 static PetscErrorCode PetscLimiterView_Superbee_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Superbee_Ascii() argument
769 static PetscErrorCode PetscLimiterView_Superbee(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_Superbee() argument
774 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_Superbee()
777 if (isascii) PetscCall(PetscLimiterView_Superbee_Ascii(lim, viewer)); in PetscLimiterView_Superbee()
781 static PetscErrorCode PetscLimiterLimit_Superbee(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_Superbee() argument
788 static PetscErrorCode PetscLimiterInitialize_Superbee(PetscLimiter lim) in PetscLimiterInitialize_Superbee() argument
791 lim->ops->view = PetscLimiterView_Superbee; in PetscLimiterInitialize_Superbee()
792 lim->ops->destroy = PetscLimiterDestroy_Superbee; in PetscLimiterInitialize_Superbee()
793 lim->ops->limit = PetscLimiterLimit_Superbee; in PetscLimiterInitialize_Superbee()
805 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_Superbee(PetscLimiter lim) in PetscLimiterCreate_Superbee() argument
810 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_Superbee()
812 lim->data = l; in PetscLimiterCreate_Superbee()
814 PetscCall(PetscLimiterInitialize_Superbee(lim)); in PetscLimiterCreate_Superbee()
818 static PetscErrorCode PetscLimiterDestroy_MC(PetscLimiter lim) in PetscLimiterDestroy_MC() argument
820 PetscLimiter_MC *l = (PetscLimiter_MC *)lim->data; in PetscLimiterDestroy_MC()
827 static PetscErrorCode PetscLimiterView_MC_Ascii(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_MC_Ascii() argument
837 static PetscErrorCode PetscLimiterView_MC(PetscLimiter lim, PetscViewer viewer) in PetscLimiterView_MC() argument
842 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterView_MC()
845 if (isascii) PetscCall(PetscLimiterView_MC_Ascii(lim, viewer)); in PetscLimiterView_MC()
850 static PetscErrorCode PetscLimiterLimit_MC(PetscLimiter lim, PetscReal f, PetscReal *phi) in PetscLimiterLimit_MC() argument
857 static PetscErrorCode PetscLimiterInitialize_MC(PetscLimiter lim) in PetscLimiterInitialize_MC() argument
860 lim->ops->view = PetscLimiterView_MC; in PetscLimiterInitialize_MC()
861 lim->ops->destroy = PetscLimiterDestroy_MC; in PetscLimiterInitialize_MC()
862 lim->ops->limit = PetscLimiterLimit_MC; in PetscLimiterInitialize_MC()
874 PETSC_EXTERN PetscErrorCode PetscLimiterCreate_MC(PetscLimiter lim) in PetscLimiterCreate_MC() argument
879 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 1); in PetscLimiterCreate_MC()
881 lim->data = l; in PetscLimiterCreate_MC()
883 PetscCall(PetscLimiterInitialize_MC(lim)); in PetscLimiterCreate_MC()
1190 PetscErrorCode PetscFVSetLimiter(PetscFV fvm, PetscLimiter lim) in PetscFVSetLimiter() argument
1194 PetscValidHeaderSpecific(lim, PETSCLIMITER_CLASSID, 2); in PetscFVSetLimiter()
1196 PetscCall(PetscObjectReference((PetscObject)lim)); in PetscFVSetLimiter()
1197 fvm->limiter = lim; in PetscFVSetLimiter()
1216 PetscErrorCode PetscFVGetLimiter(PetscFV fvm, PetscLimiter *lim) in PetscFVGetLimiter() argument
1220 PetscAssertPointer(lim, 2); in PetscFVGetLimiter()
1221 *lim = fvm->limiter; in PetscFVGetLimiter()