EXTERN_C_END #undef __FUNCT__ #define __FUNCT__ "PetscViewerBinarySetSkipHeader" /*@ PetscViewerBinarySetSkipHeader - do not write a header with size information on output, just raw data Not Collective Input Parameters: + viewer - PetscViewer context, obtained from PetscViewerBinaryOpen() - skip - PETSC_TRUE means do not write header Options Database Key: . -viewer_binary_skip_header Level: advanced Notes: This must be called after PetscViewerSetType() Can ONLY be called on a binary viewer .seealso: PetscViewerBinaryOpen(), PetscViewerBinaryGetDescriptor(), PetscViewerBinarySkipInfo(), PetscViewerBinaryGetSkipHeader() @*/ PetscErrorCode PetscViewerBinarySetSkipHeader(PetscViewer viewer,PetscBool skip) { PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscUseMethod(viewer,"PetscViewerBinarySetSkipHeader_C",(PetscViewer,PetscBool),(viewer,skip));CHKERRQ(ierr); PetscFunctionReturn(0); }
EXTERN_C_END #undef __FUNCT__ #define __FUNCT__ "PetscViewerBinarySetFlowControl" /*@C PetscViewerBinarySetFlowControl - Returns how many messages are allowed to outstanding at the same time during parallel IO reads/writes Not Collective Input Parameter: + viewer - PetscViewer context, obtained from PetscViewerBinaryOpen() - fc - the number of messages, defaults to 256 Level: advanced .seealso: PetscViewerBinaryOpen(),PetscViewerBinaryGetInfoPointer(), PetscViewerBinaryGetFlowControl() @*/ PetscErrorCode PetscViewerBinarySetFlowControl(PetscViewer viewer,PetscInt fc) { PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscUseMethod(viewer,"PetscViewerBinarySetFlowControl_C",(PetscViewer,PetscInt),(viewer,fc));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ VecNestSetSubVec - Set a single component vector in a nest vector at specified index. Not collective Input Parameters: + X - nest vector . idxm - index of the vector within the nest vector - sx - vector at index idxm within the nest vector Notes: The new vector sx does not have to be of same size as X[idxm]. Arbitrary vector layouts are allowed. Level: developer .seealso: VecNestSetSubVecs(), VecNestGetSubVec() @*/ PetscErrorCode VecNestSetSubVec(Vec X,PetscInt idxm,Vec sx) { PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscUseMethod(X,"VecNestSetSubVec_C",(Vec,PetscInt,Vec),(X,idxm,sx));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ PetscViewerBinarySetSkipHeader - do not write a header with size information on output, just raw data Not Collective Input Parameters: + viewer - PetscViewer context, obtained from PetscViewerBinaryOpen() - skip - PETSC_TRUE means do not write header Options Database Key: . -viewer_binary_skip_header Level: advanced Notes: This must be called after PetscViewerSetType() Can ONLY be called on a binary viewer .seealso: PetscViewerBinaryOpen(), PetscViewerBinaryGetDescriptor(), PetscViewerBinarySkipInfo(), PetscViewerBinaryGetSkipHeader() @*/ PetscErrorCode PetscViewerBinarySetSkipHeader(PetscViewer viewer,PetscBool skip) { PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscUseMethod(viewer,"PetscViewerBinarySetSkipHeader_C",(PetscViewer,PetscBool),(viewer,skip));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@C PetscViewerBinarySetFlowControl - Sets how many messages are allowed to outstanding at the same time during parallel IO reads/writes Not Collective Input Parameter: + viewer - PetscViewer context, obtained from PetscViewerBinaryOpen() - fc - the number of messages, defaults to 256 if this function was not called Level: advanced .seealso: PetscViewerBinaryOpen(),PetscViewerBinaryGetInfoPointer(), PetscViewerBinaryGetFlowControl() @*/ PetscErrorCode PetscViewerBinarySetFlowControl(PetscViewer viewer,PetscInt fc) { PetscErrorCode ierr; PetscFunctionBegin; ierr = PetscUseMethod(viewer,"PetscViewerBinarySetFlowControl_C",(PetscViewer,PetscInt),(viewer,fc));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ SNESCompositeSetDamping - Sets the damping of a subsolver when using additive composite SNES. Not Collective Input Parameter: + snes - the preconditioner context . n - the number of the snes requested - dmp - the damping Level: Developer .keywords: SNES, get, composite preconditioner, sub preconditioner .seealso: SNESCompositeAddSNES() @*/ PetscErrorCode SNESCompositeSetDamping(SNES snes,PetscInt n,PetscReal dmp) { PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(snes,SNES_CLASSID,1); ierr = PetscUseMethod(snes,"SNESCompositeSetDamping_C",(SNES,PetscInt,PetscReal),(snes,n,dmp));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ ISStrideSetStride - Sets the stride information for a stride index set. Collective on IS Input Parameters: + is - the index set . n - the length of the locally owned portion of the index set . first - the first element of the locally owned portion of the index set - step - the change to the next index Level: beginner Concepts: IS^stride Concepts: index sets^stride Concepts: stride^index set .seealso: ISCreateGeneral(), ISCreateBlock(), ISAllGather() @*/ PetscErrorCode ISStrideSetStride(IS is,PetscInt n,PetscInt first,PetscInt step) { PetscErrorCode ierr; PetscFunctionBegin; if (n < 0) SETERRQ1(PetscObjectComm((PetscObject)is), PETSC_ERR_ARG_OUTOFRANGE, "Negative length %d not valid", n); ierr = PetscUseMethod(is,"ISStrideSetStride_C",(IS,PetscInt,PetscInt,PetscInt),(is,n,first,step));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ MatISSetLocalMat - Set the local matrix stored inside a MATIS matrix. Input Parameter: . mat - the matrix . local - the local matrix usually MATSEQAIJ Output Parameter: Level: advanced Notes: This can be called if you have precomputed the local matrix and want to provide it to the matrix object MATIS. .seealso: MATIS @*/ PetscErrorCode MatISSetLocalMat(Mat mat,Mat local) { PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(mat,MAT_CLASSID,1); ierr = PetscUseMethod(mat,"MatISSetLocalMat_C",(Mat,Mat),(mat,local));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@C PetscSFWindowSetSyncType - set synchrozitaion type for PetscSF communication Logically Collective Input Arguments: + sf - star forest for communication - sync - synchronization type Options Database Key: . -sf_window_sync <sync> - sets the synchronization type FENCE, LOCK, or ACTIVE (see PetscSFWindowSyncType) Level: advanced .seealso: PetscSFSetFromOptions(), PetscSFWindowGetSyncType() @*/ PetscErrorCode PetscSFWindowSetSyncType(PetscSF sf,PetscSFWindowSyncType sync) { PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(sf,PETSCSF_CLASSID,1); PetscValidLogicalCollectiveEnum(sf,sync,2); ierr = PetscUseMethod(sf,"PetscSFWindowSetSyncType_C",(PetscSF,PetscSFWindowSyncType),(sf,sync));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ MatPreallocatorPreallocate - Preallocates the input matrix, optionally filling it with zeros Input Parameter: + mat - the preallocator - fill - fill the matrix with zeros Output Parameter: . A - the matrix Level: advanced .seealso: MATPREALLOCATOR @*/ PetscErrorCode MatPreallocatorPreallocate(Mat mat, PetscBool fill, Mat A) { PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(mat, MAT_CLASSID, 1); PetscValidHeaderSpecific(A, MAT_CLASSID, 3); ierr = PetscUseMethod(mat, "MatPreallocatorPreallocate_C", (Mat,PetscBool,Mat),(mat,fill,A));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ KSPSTCGSetRadius - Sets the radius of the trust region. Logically Collective on KSP Input Parameters: + ksp - the iterative context - radius - the trust region radius (Infinity is the default) Options Database Key: . -ksp_stcg_radius <r> Level: advanced .keywords: KSP, STCG, set, trust region radius @*/ PetscErrorCode KSPSTCGSetRadius(KSP ksp, PetscReal radius) { PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(ksp, KSP_CLASSID, 1); if (radius < 0.0) SETERRQ(PetscObjectComm((PetscObject)ksp),PETSC_ERR_ARG_OUTOFRANGE, "Radius negative"); PetscValidLogicalCollectiveReal(ksp,radius,2); ierr = PetscUseMethod(ksp,"KSPSTCGSetRadius_C",(KSP,PetscReal),(ksp,radius));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@C PetscViewerVTKAddField - Add a field to the viewer Collective Input Arguments: + viewer - VTK viewer . dm - DM on which Vec lives . func - function to write this Vec . fieldtype - Either PETSC_VTK_POINT_FIELD or PETSC_VTK_CELL_FIELD - vec - Vec to write Level: developer Note: This routine keeps exclusive ownership of the Vec. The caller should not use or destroy the Vec after adding it. .seealso: PetscViewerVTKOpen(), DMDAVTKWriteAll() @*/ PetscErrorCode PetscViewerVTKAddField(PetscViewer viewer,PetscObject dm,PetscViewerVTKWriteFunction func,PetscViewerVTKFieldType fieldtype,PetscObject vec) { PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(viewer,PETSC_VIEWER_CLASSID,1); PetscValidHeader(dm,2); PetscValidHeader(vec,4); ierr = PetscUseMethod(viewer,"PetscViewerVTKAddField_C",(PetscViewer,PetscObject,PetscViewerVTKWriteFunction,PetscViewerVTKFieldType,PetscObject),(viewer,dm,func,fieldtype,vec));CHKERRQ(ierr); PetscFunctionReturn(0); }
PetscErrorCode PCBDDCScalingRestriction(PC pc, Vec global_vector, Vec local_interface_vector) { PC_BDDC *pcbddc=(PC_BDDC*)pc->data; PetscErrorCode ierr; PetscFunctionBegin; PetscValidHeaderSpecific(pc,PC_CLASSID,1); PetscValidHeaderSpecific(global_vector,VEC_CLASSID,2); PetscValidHeaderSpecific(local_interface_vector,VEC_CLASSID,3); if (local_interface_vector == pcbddc->work_scaling) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_SUP,"Local vector cannot be pcbddc->work_scaling!"); ierr = PetscUseMethod(pc,"PCBDDCScalingRestriction_C",(PC,Vec,Vec),(pc,global_vector,local_interface_vector));CHKERRQ(ierr); PetscFunctionReturn(0); }
/*@ SNESVISetVariableBounds - Sets the lower and upper bounds for the solution vector. xl <= x <= xu. Input Parameters: . snes - the SNES context. . xl - lower bound. . xu - upper bound. Notes: If this routine is not called then the lower and upper bounds are set to SNES_VI_INF and SNES_VI_NINF respectively during SNESSetUp(). Level: advanced @*/ PetscErrorCode SNESVISetVariableBounds(SNES snes, Vec xl, Vec xu) { PetscErrorCode ierr,(*f)(SNES,Vec,Vec); PetscFunctionBegin; PetscValidHeaderSpecific(snes,SNES_CLASSID,1); PetscValidHeaderSpecific(xl,VEC_CLASSID,2); PetscValidHeaderSpecific(xu,VEC_CLASSID,3); ierr = PetscObjectQueryFunction((PetscObject)snes,"SNESVISetVariableBounds_C",&f);CHKERRQ(ierr); if (!f) {ierr = SNESSetType(snes,SNESVINEWTONRSLS);CHKERRQ(ierr);} ierr = PetscUseMethod(snes,"SNESVISetVariableBounds_C",(SNES,Vec,Vec),(snes,xl,xu));CHKERRQ(ierr); snes->usersetbounds = PETSC_TRUE; PetscFunctionReturn(0); }