#include "syspro.h"
#include "petsc.h"
Go to the source code of this file.
PetscErrorCode DeregisterTransform | ( | SalsaTransform | ) |
Definition at line 49 of file transform.c.
References SalsaTransform_::annotations_c, SalsaTransform_::annotations_i, SalsaTransform_::aprioriselection, CHKERRQ(), FreeTransformObject(), ierr, SalsaTransform_::n_objects, and SalsaTransform_::transformobjects.
Referenced by SysProFinalize().
PetscErrorCode FreeTransformObject | ( | SalsaTransformObject | tf | ) |
Definition at line 109 of file transform.c.
References SalsaTransformObject_::annotate_c, SalsaTransformObject_::annotate_i, CHKERRQ(), ierr, SalsaTransformObject_::n_options, SalsaTransformObject_::name, SalsaTransformObject_::optionexplanation, SalsaTransformObject_::options, and SalsaTransformObject_::options_marked.
Referenced by DeregisterTransform().
PetscErrorCode NewTransform | ( | char * | name, | |
SalsaTransform * | tf | |||
) |
Define a new class of preprocessors, for instance scaling or permutation.
Definition at line 31 of file transform.c.
References SalsaTransform_::alloc_objects, SalsaTransform_::aprioriselection, CHKERRQ(), ierr, SalsaTransform_::n_objects, SalsaTransform_::name, TFINC, and SalsaTransform_::transformobjects.
Referenced by DeclarePreprocessor().
PetscErrorCode NewTransformObject | ( | char * | transform, | |
char * | name, | |||
SalsaTransformObject * | to | |||
) |
Create a transform object specified by name
for the preprocessor class transform
. The to
parameter can be NULL if no further specifications of the object are needed, in which case this only registers the name.
Definition at line 92 of file transform.c.
References SalsaTransform_::alloc_objects, CHKERRQ(), ierr, SalsaTransform_::n_objects, SalsaTransformObject_::name, SalsaTransformObject_::transform, TransformGetByName(), and SalsaTransform_::transformobjects.
Referenced by declareadders(), setup_approximation_choices(), setup_distribution_choices(), setup_flipsign_choices(), setup_ksp_choices(), setup_pc_choices(), setup_scaling_choices(), and setup_singleton_choices().
PetscErrorCode PreprocessorApplyAprioriSelection | ( | SystemPreprocessor | ) |
Definition at line 426 of file transform.c.
References SalsaTransform_::aprioriselection, SalsaTransformObject_::marked, SalsaTransform_::n_objects, SystemPreprocessor_::transform, and SalsaTransform_::transformobjects.
Referenced by PreprocessorSpecificSetup().
PetscErrorCode PreprocessorSaveAprioriSelection | ( | SystemPreprocessor | ) |
Definition at line 414 of file transform.c.
References SalsaTransform_::aprioriselection, SalsaTransformObject_::marked, SalsaTransform_::n_objects, SystemPreprocessor_::transform, and SalsaTransform_::transformobjects.
Referenced by PreprocessorsOptionsHandling().
PetscErrorCode SysProDefineCharAnnotation | ( | char * | transform, | |
char * | ann | |||
) |
Define a character string annotation for a transform. The index of this annotation can be retrieved with TransformCharAnnotationGetIndex(). The actual annotation can be found with TransformItemGetCharAnnotation().
Definition at line 243 of file transform.c.
References SalsaTransform_::annotations_c, CHKERRQ(), ierr, SalsaTransform_::n_annotate_c, TFINC, and TransformGetByName().
Referenced by setup_ksp_choices().
PetscErrorCode SysProDefineIntAnnotation | ( | char * | transform, | |
char * | ann | |||
) |
Define a integer string annotation for a transform. The index of this annotation can be retrieved with TransformIntAnnotationGetIndex(). The actual annotation can be found with TransformItemGetIntAnnotation().
Definition at line 297 of file transform.c.
References SalsaTransform_::annotations_i, CHKERRQ(), ierr, SalsaTransform_::n_annotate_i, TFINC, and TransformGetByName().
Referenced by setup_distribution_choices(), setup_ksp_choices(), setup_pc_choices(), and setup_scaling_choices().
PetscErrorCode TransformCharAnnotationGetIndex | ( | SalsaTransform | , | |
char * | , | |||
int * | , | |||
PetscTruth * | ||||
) |
Definition at line 277 of file transform.c.
References SalsaTransform_::annotations_c, CHKERRQ(), ierr, and SalsaTransform_::n_annotate_c.
Referenced by TransformObjectCharAnnotate().
PetscErrorCode TransformCurrentItemDefineOption | ( | SalsaTransform | , | |
char * | , | |||
char * | ||||
) |
PetscErrorCode TransformGetByName | ( | char * | , | |
SalsaTransform * | ||||
) |
Definition at line 611 of file preprocess.c.
References CHKERRQ(), ierr, SystemPreprocessorGetByName(), and SystemPreprocessor_::transform.
Referenced by NewTransformObject(), PreprocessorsOptionsHandling(), PreprocessorSpecificSetup(), ReportEnabledPreprocessors(), setup_approximation_choices(), setup_distribution_choices(), setup_flipsign_choices(), setup_ksp_choices(), setup_pc_choices(), setup_scaling_choices(), setup_singleton_choices(), SysProDefineCharAnnotation(), SysProDefineIntAnnotation(), and TransformObjectGetByName().
PetscErrorCode TransformGetName | ( | SalsaTransform | , | |
char ** | ||||
) |
PetscErrorCode TransformGetNextUnmarkedItem | ( | SalsaTransform | tf, | |
char * | old, | |||
SalsaTransformObject * | snew, | |||
PetscTruth * | f | |||
) |
Find the next unmarked value; if old
is NULL, the first first unmarked value is given, otherwise the first one after a match with old
.
Definition at line 477 of file transform.c.
References SalsaTransformObject_::marked, SalsaTransform_::n_objects, SalsaTransformObject_::name, SalsaTransform_::transformobjects, and TRUTH.
Referenced by ChooseFirstTransform(), PreprocessedSolution(), and PreprocessorsOptionsHandling().
PetscErrorCode TransformGetNItems | ( | SalsaTransform | , | |
int * | n | |||
) |
PetscErrorCode TransformGetNUnmarked | ( | SalsaTransform | , | |
int * | ||||
) |
Definition at line 402 of file transform.c.
References SalsaTransformObject_::marked, SalsaTransform_::n_objects, and SalsaTransform_::transformobjects.
Referenced by PreprocessorsOptionsHandling().
PetscErrorCode TransformGetObjects | ( | SalsaTransform | , | |
int * | , | |||
SalsaTransformObject ** | ||||
) |
Definition at line 76 of file transform.c.
References SalsaTransform_::n_objects, and SalsaTransform_::transformobjects.
Referenced by disable_ksps(), specific_distribution_choices(), and specific_scaling_choices().
PetscErrorCode TransformGetUserChoices | ( | SalsaTransform | , | |
PetscTruth * | ||||
) |
Definition at line 794 of file transform.c.
References SalsaTransform_::userchoices.
Referenced by PreprocessedSolution().
PetscErrorCode TransformIntAnnotationGetIndex | ( | SalsaTransform | , | |
char * | , | |||
int * | , | |||
PetscTruth * | ||||
) |
Definition at line 329 of file transform.c.
References SalsaTransform_::annotations_i, CHKERRQ(), ierr, and SalsaTransform_::n_annotate_i.
Referenced by TransformObjectIntAnnotate().
PetscErrorCode TransformItemCharAnnotationGetIndex | ( | SalsaTransform | , | |
char * | , | |||
int * | ||||
) |
PetscErrorCode TransformItemDefineOption | ( | SalsaTransform | , | |
int | , | |||
char * | , | |||
char * | ||||
) |
PetscErrorCode TransformItemDescribeLong | ( | SalsaTransform | , | |
char * | , | |||
int | , | |||
char ** | ||||
) |
Definition at line 755 of file transform.c.
References CHKERRQ(), SalsaTransformObject_::explanation, ierr, SalsaTransform_::name, SalsaTransformObject_::options, and TransformObjectGetByName().
PetscErrorCode TransformItemDescribeShort | ( | SalsaTransform | , | |
char * | , | |||
int | , | |||
char ** | ||||
) |
Definition at line 737 of file transform.c.
References CHKERRQ(), ierr, SalsaTransformObject_::n_options, SalsaTransformObject_::name, SalsaTransform_::name, and TransformObjectGetByName().
PetscErrorCode TransformItemGetCharAnnotation | ( | SalsaTransform | , | |
int | idx, | |||
char * | an, | |||
char ** | v, | |||
PetscTruth * | ||||
) |
PetscErrorCode TransformItemGetFirstOption | ( | char * | , | |
char * | , | |||
int * | , | |||
PetscTruth * | ||||
) |
Definition at line 572 of file transform.c.
References CHKERRQ(), ierr, SalsaTransformObject_::n_options, SalsaTransformObject_::options, SalsaTransformObject_::options_marked, and TransformObjectGetByName().
Referenced by PreprocessedSolution().
PetscErrorCode TransformItemGetIntAnnotation | ( | SalsaTransform | , | |
int | idx, | |||
char * | an, | |||
int * | v, | |||
PetscTruth * | f | |||
) |
PetscErrorCode TransformItemGetNextOption | ( | char * | , | |
char * | , | |||
int * | , | |||
PetscTruth * | ||||
) |
Definition at line 595 of file transform.c.
References CHKERRQ(), ierr, SalsaTransformObject_::n_options, SalsaTransformObject_::options, SalsaTransformObject_::options_marked, and TransformObjectGetByName().
Referenced by PreprocessedSolution().
PetscErrorCode TransformItemGetNOptions | ( | SalsaTransform | , | |
int | it, | |||
int * | nopt | |||
) |
PetscErrorCode TransformItemGetOptionI | ( | SalsaTransform | , | |
int | it, | |||
int | iopt, | |||
int * | v | |||
) |
PetscErrorCode TransformItemIntAnnotate | ( | SalsaTransform | , | |
int | , | |||
int | ||||
) |
PetscErrorCode TransformItemOptionMark | ( | SalsaTransform | , | |
char * | , | |||
int | ||||
) |
Definition at line 619 of file transform.c.
References CHKERRQ(), ierr, SalsaTransformObject_::marked, SalsaTransformObject_::n_options, SalsaTransform_::name, SalsaTransformObject_::options, SalsaTransformObject_::options_marked, and TransformObjectGetByName().
PetscErrorCode TransformItemOptionsUseOnly | ( | SalsaTransformObject | , | |
char * | ||||
) |
Definition at line 555 of file transform.c.
References CHKERRQ(), ierr, SalsaTransformObject_::n_options, and TransformObjectAddOption().
Referenced by PreprocessorsOptionsHandling().
PetscErrorCode TransformObjectAddOption | ( | SalsaTransformObject | , | |
int | ||||
) |
Definition at line 517 of file transform.c.
References SalsaTransformObject_::alloc_options, CHKERRQ(), ierr, SalsaTransformObject_::n_options, SalsaTransformObject_::name, SalsaTransformObject_::optionexplanation, SalsaTransformObject_::options, SalsaTransformObject_::options_marked, and TFINC.
Referenced by declareadders(), setup_ksp_choices(), setup_pc_choices(), and TransformItemOptionsUseOnly().
PetscErrorCode TransformObjectAddOptionExplanation | ( | SalsaTransformObject | , | |
int | , | |||
char * | ||||
) |
Definition at line 539 of file transform.c.
References SalsaTransformObject_::n_options, SalsaTransformObject_::optionexplanation, and SalsaTransformObject_::options.
Referenced by setup_pc_choices().
PetscErrorCode TransformObjectCharAnnotate | ( | SalsaTransformObject | , | |
char * | , | |||
char * | ||||
) |
Definition at line 634 of file transform.c.
References SalsaTransformObject_::alloc_annotate_c, SalsaTransformObject_::annotate_c, CHKERRQ(), ierr, TFINC, SalsaTransformObject_::transform, and TransformCharAnnotationGetIndex().
PetscErrorCode TransformObjectDefineOption | ( | SalsaTransformObject | , | |
char * | ||||
) |
Definition at line 508 of file transform.c.
References SalsaTransformObject_::option.
Referenced by declareadders(), setup_ksp_choices(), and setup_pc_choices().
PetscErrorCode TransformObjectGetByName | ( | char * | , | |
char * | , | |||
SalsaTransformObject * | ||||
) |
Definition at line 202 of file transform.c.
References CHKERRQ(), ierr, SalsaTransform_::n_objects, SalsaTransformObject_::name, TransformGetByName(), and SalsaTransform_::transformobjects.
Referenced by disable_ksps(), disable_pcs(), is_gmres_method(), pcoptionshandling(), setup_ksp(), specific_approximation_choices(), specific_flipsign_choices(), specific_singleton_choices(), TransformItemDescribeLong(), TransformItemDescribeShort(), TransformItemGetFirstOption(), TransformItemGetNextOption(), TransformItemOptionMark(), TransformObjectsUseOnly(), and unset_ksps().
PetscErrorCode TransformObjectGetIntAnnotation | ( | SalsaTransformObject | , | |
char * | an, | |||
int * | v, | |||
PetscTruth * | f | |||
) |
Definition at line 676 of file transform.c.
References SalsaTransformObject_::annotate_i, SalsaTransform_::annotations_i, SalsaTransform_::n_annotate_i, SalsaTransformObject_::transform, and TRUTH.
Referenced by disable_ksps(), is_gmres_method(), pcoptionshandling(), set_ksp_options(), specific_distribution_choices(), and specific_scaling_choices().
PetscErrorCode TransformObjectGetMark | ( | SalsaTransformObject | , | |
int * | ||||
) |
Definition at line 393 of file transform.c.
References SalsaTransformObject_::marked.
Referenced by TransformReportEnabled().
PetscErrorCode TransformObjectGetName | ( | SalsaTransformObject | , | |
char ** | ||||
) |
Definition at line 130 of file transform.c.
References SalsaTransformObject_::name.
Referenced by ChooseFirstTransform(), disable_ksps(), PreprocessedSolution(), PreprocessorsOptionsHandling(), and set_ksp_options().
PetscErrorCode TransformObjectGetSuitabilityFunction | ( | SalsaTransformObject | tf, | |
void ** | sctx, | |||
PetscErrorCode(**)(NumericalProblem, void *, SuitabilityValue *) | f | |||
) |
Retrieve the suitability function and context; see Suitability functions. Both arguments can be null.
Definition at line 182 of file transform.c.
References SalsaTransformObject_::suitabilityctx, and SalsaTransformObject_::suitabilityfunction.
Referenced by PreprocessorSpecificSetup(), and unset_ksps().
PetscErrorCode TransformObjectGetTransformName | ( | SalsaTransformObject | , | |
char ** | ||||
) |
Definition at line 192 of file transform.c.
References SalsaTransform_::name, and SalsaTransformObject_::transform.
PetscErrorCode TransformObjectIntAnnotate | ( | SalsaTransformObject | tf, | |
char * | , | |||
int | ||||
) |
Definition at line 655 of file transform.c.
References SalsaTransformObject_::alloc_annotate_i, SalsaTransformObject_::annotate_i, CHKERRQ(), ierr, TFINC, SalsaTransformObject_::transform, and TransformIntAnnotationGetIndex().
Referenced by setup_distribution_choices(), setup_ksp_choices(), setup_pc_choices(), and setup_scaling_choices().
PetscErrorCode TransformObjectMark | ( | SalsaTransformObject | tf | ) |
Definition at line 345 of file transform.c.
References SalsaTransformObject_::marked, SalsaTransformObject_::n_options, and SalsaTransformObject_::options_marked.
Referenced by disable_ksps(), disable_pcs(), pcoptionshandling(), PreprocessorSpecificSetup(), specific_approximation_choices(), specific_distribution_choices(), specific_flipsign_choices(), specific_scaling_choices(), specific_singleton_choices(), TransformObjectsMarkAll(), and TransformObjectsUseOnly().
PetscErrorCode TransformObjectSetExplanation | ( | SalsaTransformObject | , | |
char * | ||||
) |
Definition at line 139 of file transform.c.
References SalsaTransformObject_::explanation.
Referenced by setup_approximation_choices(), setup_distribution_choices(), setup_flipsign_choices(), setup_ksp_choices(), setup_pc_choices(), setup_scaling_choices(), and setup_singleton_choices().
PetscErrorCode TransformObjectSetSuitabilityFunction | ( | SalsaTransformObject | tf, | |
void * | sctx, | |||
PetscErrorCode(*)(NumericalProblem, void *, SuitabilityValue *) | f | |||
) |
Set the suitability function; see Suitability functions
Definition at line 168 of file transform.c.
References SalsaTransformObject_::suitabilityctx, and SalsaTransformObject_::suitabilityfunction.
Referenced by setup_ksp_choices().
PetscErrorCode TransformObjectsGetNames | ( | SalsaTransform | tf, | |
char *** | names | |||
) |
Get the names of all declared transformobjects. An array is allocated for the names, which needs to be PetscFree()'d.
Definition at line 223 of file transform.c.
References CHKERRQ(), ierr, SalsaTransform_::n_objects, SalsaTransformObject_::name, and SalsaTransform_::transformobjects.
Referenced by ContinueRetrievingAllPreprocessors(), and TransformReportEnabled().
PetscErrorCode TransformObjectsMarkAll | ( | SalsaTransform | tf | ) |
Definition at line 369 of file transform.c.
References CHKERRQ(), ierr, SalsaTransform_::n_objects, TransformObjectMark(), and SalsaTransform_::transformobjects.
Referenced by TransformObjectsUseOnly().
PetscErrorCode TransformObjectsUnmarkAll | ( | SalsaTransform | tf | ) |
Definition at line 381 of file transform.c.
References CHKERRQ(), ierr, SalsaTransform_::n_objects, SalsaTransform_::transformobjects, and TransformObjectUnmark().
Referenced by disable_ksps(), and TransformObjectsUseOnly().
PetscErrorCode TransformObjectsUseOnly | ( | SalsaTransform | tf, | |
char * | list | |||
) |
Mark a list of names as to be used.
Cases:
"name1,name2,name3"
: all other names are marked as not to be used"not,name1,name2"
: all names will be used, except for the ones listed Definition at line 445 of file transform.c.
References CHKERRQ(), ierr, SalsaTransform_::name, TransformObjectGetByName(), TransformObjectMark(), TransformObjectsMarkAll(), TransformObjectsUnmarkAll(), and TransformObjectUnmark().
Referenced by PreprocessorsOptionsHandling().
PetscErrorCode TransformObjectUnmark | ( | SalsaTransformObject | tf | ) |
Definition at line 357 of file transform.c.
References SalsaTransformObject_::marked, SalsaTransformObject_::n_options, and SalsaTransformObject_::options_marked.
Referenced by TransformObjectsUnmarkAll(), and TransformObjectsUseOnly().
PetscErrorCode TransformReportEnabled | ( | SalsaTransform | , | |
char ** | ||||
) |
Definition at line 715 of file transform.c.
References CHKERRQ(), ierr, SalsaTransform_::n_objects, TransformObjectGetMark(), SalsaTransform_::transformobjects, and TransformObjectsGetNames().
Referenced by ReportEnabledPreprocessors().
PetscErrorCode TransformReportTeXTable | ( | SalsaTransform | , | |
FILE * | ||||
) |
Definition at line 693 of file transform.c.
References SalsaTransformObject_::explanation, SalsaTransform_::n_objects, SalsaTransformObject_::n_options, SalsaTransformObject_::name, SalsaTransformObject_::options, and SalsaTransform_::transformobjects.
PetscErrorCode TransformSetUserChoices | ( | SalsaTransform | , | |
PetscTruth | ||||
) |
Definition at line 785 of file transform.c.
References SalsaTransform_::userchoices.
Referenced by PreprocessorsOptionsHandling().