本文整理汇总了C++中PetscValidHeader函数的典型用法代码示例。如果您正苦于以下问题:C++ PetscValidHeader函数的具体用法?C++ PetscValidHeader怎么用?C++ PetscValidHeader使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PetscValidHeader函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: PetscObjectCopyFortranFunctionPointers
/*@C
PetscObjectCopyFortranFunctionPointers - Copy function pointers to another object
Logically Collective on PetscObject
Input Parameter:
+ src - source object
- dest - destination object
Level: developer
Note:
Both objects must have the same class.
@*/
PetscErrorCode PetscObjectCopyFortranFunctionPointers(PetscObject src,PetscObject dest)
{
PetscErrorCode ierr;
PetscInt cbtype,numcb[PETSC_FORTRAN_CALLBACK_MAXTYPE];
PetscFunctionBegin;
PetscValidHeader(src,1);
PetscValidHeader(dest,2);
if (src->classid != dest->classid) SETERRQ(src->comm,PETSC_ERR_ARG_INCOMP,"Objects must be of the same class");
ierr = PetscFree(dest->fortran_func_pointers);CHKERRQ(ierr);
ierr = PetscMalloc(src->num_fortran_func_pointers*sizeof(void(*)(void)),&dest->fortran_func_pointers);CHKERRQ(ierr);
ierr = PetscMemcpy(dest->fortran_func_pointers,src->fortran_func_pointers,src->num_fortran_func_pointers*sizeof(void(*)(void)));CHKERRQ(ierr);
dest->num_fortran_func_pointers = src->num_fortran_func_pointers;
ierr = PetscFortranCallbackGetSizes(src->classid,&numcb[PETSC_FORTRAN_CALLBACK_CLASS],&numcb[PETSC_FORTRAN_CALLBACK_SUBTYPE]);CHKERRQ(ierr);
for (cbtype=PETSC_FORTRAN_CALLBACK_CLASS; cbtype<PETSC_FORTRAN_CALLBACK_MAXTYPE; cbtype++) {
ierr = PetscFree(dest->fortrancallback[cbtype]);CHKERRQ(ierr);
ierr = PetscCalloc1(numcb[cbtype],&dest->fortrancallback[cbtype]);CHKERRQ(ierr);
ierr = PetscMemcpy(dest->fortrancallback[cbtype],src->fortrancallback[cbtype],src->num_fortrancallback[cbtype]*sizeof(PetscFortranCallback));CHKERRQ(ierr);
dest->num_fortrancallback[cbtype] = src->num_fortrancallback[cbtype];
}
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:39,代码来源:inherit.c
示例2: PetscViewerVTKOpen
/*@C
PetscViewerVTKAddField - Add a field to the viewer
Collective
Input Arguments:
+ viewer - VTK viewer
. dm - DM on which Vec lives
. PetscViewerVTKWriteFunction - 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(), PetscViewerVTKWriteFunction
@*/
PetscErrorCode PetscViewerVTKAddField(PetscViewer viewer,PetscObject dm,PetscErrorCode (*PetscViewerVTKWriteFunction)(PetscObject,PetscViewer),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,PetscErrorCode (*)(PetscObject,PetscViewer),PetscViewerVTKFieldType,PetscObject),(viewer,dm,PetscViewerVTKWriteFunction,fieldtype,vec));CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:fengyuqi,项目名称:petsc,代码行数:30,代码来源:vtkv.c
示例3: with
/*@C
PetscObjectCompose - Associates another PETSc object with a given PETSc object.
Not Collective
Input Parameters:
+ obj - the PETSc object; this must be cast with (PetscObject), for example,
PetscObjectCompose((PetscObject)mat,...);
. name - name associated with the child object
- ptr - the other PETSc object to associate with the PETSc object; this must also be
cast with (PetscObject)
Level: advanced
Notes:
The second objects reference count is automatically increased by one when it is
composed.
Replaces any previous object that had the same name.
If ptr is null and name has previously been composed using an object, then that
entry is removed from the obj.
PetscObjectCompose() can be used with any PETSc object (such as
Mat, Vec, KSP, SNES, etc.) or any user-provided object. See
PetscContainerCreate() for info on how to create an object from a
user-provided pointer that may then be composed with PETSc objects.
Concepts: objects^composing
Concepts: composing objects
.seealso: PetscObjectQuery(), PetscContainerCreate()
@*/
PetscErrorCode PetscObjectCompose(PetscObject obj,const char name[],PetscObject ptr)
{
PetscErrorCode ierr;
PetscFunctionBegin;
PetscValidHeader(obj,1);
PetscValidCharPointer(name,2);
if (ptr) PetscValidHeader(ptr,3);
if (obj == ptr) SETERRQ(PetscObjectComm((PetscObject)obj),PETSC_ERR_SUP,"Cannot compose object with itself");
ierr = (*obj->bops->compose)(obj,name,ptr);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:45,代码来源:inherit.c
示例4: PetscObjectSAWsBlock
/*@C
PetscObjectSAWsSetBlock - Sets whether an object will block at PetscObjectSAWsBlock()
Collective on PetscObject
Input Parameters:
+ obj - the Petsc variable
Thus must be cast with a (PetscObject), for example,
PetscObjectSetName((PetscObject)mat,name);
- flg - whether it should block
Level: advanced
Concepts: publishing object
.seealso: PetscObjectSetName(), PetscObjectSAWsViewOff(), PetscObjectSAWsBlock()
@*/
PetscErrorCode PetscObjectSAWsSetBlock(PetscObject obj,PetscBool flg)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
obj->amspublishblock = flg;
PetscFunctionReturn(0);
}
开发者ID:00liujj,项目名称:petsc,代码行数:25,代码来源:pams.c
示例5: a
/*@C
PetscObjectGetClassId - Gets the classid for any PetscObject
Not Collective
Input Parameter:
. obj - any PETSc object, for example a Vec, Mat or KSP.
Thus must be cast with a (PetscObject), for example,
PetscObjectGetClassId((PetscObject)mat,&classid);
Output Parameter:
. classid - the classid
Level: developer
@*/
PetscErrorCode PetscObjectGetClassId(PetscObject obj,PetscClassId *classid)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
*classid = obj->classid;
PetscFunctionReturn(0);
}
开发者ID:erdc-cm,项目名称:petsc-dev,代码行数:23,代码来源:gcookie.c
示例6: PetscPythonMonitorSet
EXTERN_C_END
#undef __FUNCT__
#define __FUNCT__ "PetscPythonMonitorSet"
/*@C
PetscPythonMonitorSet - Set Python monitor
Level: developer
.keywords: Python
@*/
PetscErrorCode PetscPythonMonitorSet(PetscObject obj, const char url[])
{
PetscErrorCode ierr;
PetscFunctionBegin;
PetscValidHeader(obj,1);
PetscValidCharPointer(url,2);
if (PetscPythonMonitorSet_C == PETSC_NULL) {
ierr = PetscPythonInitialize(PETSC_NULL,PETSC_NULL);CHKERRQ(ierr);
if (PetscPythonMonitorSet_C == PETSC_NULL)
SETERRQ(PETSC_COMM_SELF,PETSC_ERR_LIB,"Couldn't initialize Python support for monitors");
}
ierr = PetscPythonMonitorSet_C(obj,url);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:erdc-cm,项目名称:petsc-dev,代码行数:26,代码来源:pythonsys.c
示例7: a
/*@C
PetscObjectName - Gives an object a name if it does not have one
Collective
Input Parameters:
. obj - the Petsc variable
Thus must be cast with a (PetscObject), for example,
PetscObjectName((PetscObject)mat,name);
Level: developer
Concepts: object name^setting default
Notes: This is used in a small number of places when an object NEEDS a name, for example when it is saved to MATLAB with that variable name.
Use PetscObjectSetName() to set the name of an object to what you want. The SAWs viewer requires that no two published objects
share the same name.
Developer Note: this needs to generate the exact same string on all ranks that share the object. The current algorithm may not always work.
.seealso: PetscObjectGetName(), PetscObjectSetName()
@*/
PetscErrorCode PetscObjectName(PetscObject obj)
{
PetscErrorCode ierr;
PetscCommCounter *counter;
PetscMPIInt flg;
char name[64];
PetscFunctionBegin;
PetscValidHeader(obj,1);
if (!obj->name) {
union {
MPI_Comm comm;
void *ptr;
char raw[sizeof(MPI_Comm)];
} ucomm;
ierr = MPI_Attr_get(obj->comm,Petsc_Counter_keyval,(void*)&counter,&flg);
CHKERRQ(ierr);
if (!flg) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_CORRUPT,"Bad MPI communicator supplied; must be a PETSc communicator");
ucomm.ptr = NULL;
ucomm.comm = obj->comm;
ierr = MPI_Bcast(ucomm.raw,sizeof(MPI_Comm),MPI_BYTE,0,obj->comm);
CHKERRQ(ierr);
/* If the union has extra bytes, their value is implementation-dependent, but they will normally be what we set last
* in 'ucomm.ptr = NULL'. This output is always implementation-defined (and varies from run to run) so the union
* abuse acceptable. */
ierr = PetscSNPrintf(name,64,"%s_%p_%D",obj->class_name,ucomm.ptr,counter->namecount++);
CHKERRQ(ierr);
ierr = PetscStrallocpy(name,&obj->name);
CHKERRQ(ierr);
}
PetscFunctionReturn(0);
}
开发者ID:00liujj,项目名称:petsc,代码行数:56,代码来源:pname.c
示例8: a
/*@
PetscObjectGetTabLevel - Gets the number of tabs that ASCII output for that object use
Not Collective
Input Parameter:
. obj - any PETSc object, for example a Vec, Mat or KSP. Thus must be
cast with a (PetscObject), for example,
PetscObjectGetComm((PetscObject)mat,&comm);
Output Parameter:
. tab - the number of tabs
Level: developer
Notes:
this is used to manage the output from options that are imbedded in other objects. For example
the KSP object inside a SNES object. By indenting each lower level further the heirarchy of objects
is very clear.
.seealso: PetscObjectIncrementTabLevel()
@*/
PetscErrorCode PetscObjectGetTabLevel(PetscObject obj,PetscInt *tab)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
*tab = obj->tablevel;
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:30,代码来源:gcomm.c
示例9: PetscObjectGetComm_Petsc
/*
The following routines are the versions private to the PETSc object
data structures.
*/
PetscErrorCode PetscObjectGetComm_Petsc(PetscObject obj,MPI_Comm *comm)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
*comm = obj->comm;
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:11,代码来源:inherit.c
示例10: with
/*@C
PetscObjectSetPrecision - sets the precision used within a given object.
Collective on the PetscObject
Input Parameters:
+ obj - the PETSc object; this must be cast with (PetscObject), for example,
PetscObjectCompose((PetscObject)mat,...);
- precision - the precision
Level: advanced
.seealso: PetscObjectQuery(), PetscContainerCreate()
@*/
PetscErrorCode PetscObjectSetPrecision(PetscObject obj,PetscPrecision precision)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
obj->precision = precision;
PetscFunctionReturn(0);
}
开发者ID:feelpp,项目名称:debian-petsc,代码行数:21,代码来源:inherit.c
示例11: PetscObjectGetOptionsPrefix
/*
PetscObjectGetOptionsPrefix - Gets the prefix of the PetscObject.
Input Parameters:
. obj - any PETSc object, for example a Vec, Mat or KSP.
Output Parameters:
. prefix - pointer to the prefix string used is returned
Concepts: prefix^getting
*/
PetscErrorCode PetscObjectGetOptionsPrefix(PetscObject obj,const char *prefix[])
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
PetscValidPointer(prefix,2);
*prefix = obj->prefix;
PetscFunctionReturn(0);
}
开发者ID:fengyuqi,项目名称:petsc,代码行数:20,代码来源:prefix.c
示例12: PetscObjectRemoveReference
PetscErrorCode PetscObjectRemoveReference(PetscObject obj,const char name[])
{
PetscErrorCode ierr;
PetscFunctionBegin;
PetscValidHeader(obj,1);
ierr = PetscObjectListRemoveReference(&obj->olist,name);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:9,代码来源:inherit.c
示例13: PetscFinalize
/*@C
PetscObjectRegisterDestroy - Registers a PETSc object to be destroyed when
PetscFinalize() is called.
Logically Collective on PetscObject
Input Parameter:
. obj - any PETSc object, for example a Vec, Mat or KSP.
This must be cast with a (PetscObject), for example,
PetscObjectRegisterDestroy((PetscObject)mat);
Level: developer
Notes:
This is used by, for example, PETSC_VIEWER_XXX_() routines to free the viewer
when PETSc ends.
.seealso: PetscObjectRegisterDestroyAll()
@*/
PetscErrorCode PetscObjectRegisterDestroy(PetscObject obj)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
if (PetscObjectRegisterDestroy_Count < MAXREGDESOBJS)
PetscObjectRegisterDestroy_Objects[PetscObjectRegisterDestroy_Count++] = obj;
else SETERRQ1(PETSC_COMM_SELF,PETSC_ERR_PLIB,"No more room in array, limit %d \n recompile src/sys/objects/destroy.c with larger value for MAXREGDESOBJS\n",MAXREGDESOBJS);
PetscFunctionReturn(0);
}
开发者ID:feelpp,项目名称:debian-petsc,代码行数:28,代码来源:destroy.c
示例14: PetscObjectSetTabLevel
/*@
PetscObjectIncrementTabLevel - Sets the number of tabs that ASCII output for that object use based on
the tablevel of another object. This should be called immediately after the object is created.
Not Collective
Input Parameter:
+ obj - any PETSc object where we are changing the tab
. oldobj - the object providing the tab
- tab - the increment that is added to the old objects tab
Level: developer
Notes:
this is used to manage the output from options that are imbedded in other objects. For example
the KSP object inside a SNES object. By indenting each lower level further the heirarchy of objects
is very clear.
.seealso: PetscObjectSetTabLevel(), PetscObjectGetTabLevel()
@*/
PetscErrorCode PetscObjectIncrementTabLevel(PetscObject obj,PetscObject oldobj,PetscInt tab)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
if (oldobj) obj->tablevel = oldobj->tablevel + tab;
else obj->tablevel = tab;
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:31,代码来源:gcomm.c
示例15: PetscObjectQueryFunction_Petsc
PetscErrorCode PetscObjectQueryFunction_Petsc(PetscObject obj,const char name[],void (**ptr)(void))
{
PetscErrorCode ierr;
PetscFunctionBegin;
PetscValidHeader(obj,1);
ierr = PetscFunctionListFind(obj->qlist,name,ptr);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:9,代码来源:inherit.c
示例16: PetscObjectQuery_Petsc
PetscErrorCode PetscObjectQuery_Petsc(PetscObject obj,const char name[],PetscObject *ptr)
{
PetscErrorCode ierr;
PetscFunctionBegin;
PetscValidHeader(obj,1);
ierr = PetscObjectListFind(obj->olist,name,ptr);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:9,代码来源:inherit.c
示例17: XXXSetFromOptions
/*@C
PetscObjectAddOptionsHandler - Adds an additional function to check for options when XXXSetFromOptions() is called.
Not Collective
Input Parameter:
+ obj - the PETSc object
. handle - function that checks for options
. destroy - function to destroy context if provided
- ctx - optional context for check function
Level: developer
.seealso: KSPSetFromOptions(), PCSetFromOptions(), SNESSetFromOptions(), PetscObjectProcessOptionsHandlers(), PetscObjectDestroyOptionsHandlers()
@*/
PetscErrorCode PetscObjectAddOptionsHandler(PetscObject obj,PetscErrorCode (*handle)(PetscOptionItems*,PetscObject,void*),PetscErrorCode (*destroy)(PetscObject,void*),void *ctx)
{
PetscFunctionBegin;
PetscValidHeader(obj,1);
if (obj->noptionhandler >= PETSC_MAX_OPTIONS_HANDLER) SETERRQ(obj->comm,PETSC_ERR_ARG_OUTOFRANGE,"To many options handlers added");
obj->optionhandler[obj->noptionhandler] = handle;
obj->optiondestroy[obj->noptionhandler] = destroy;
obj->optionctx[obj->noptionhandler++] = ctx;
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:27,代码来源:inherit.c
示例18: PetscObjectQueryFunction
/*MC
PetscObjectQueryFunction - Gets a function associated with a given object.
Synopsis:
#include <petscsys.h>
PetscErrorCode PetscObjectQueryFunction(PetscObject obj,const char name[],void (**fptr)(void))
Logically Collective on PetscObject
Input Parameters:
+ obj - the PETSc object; this must be cast with (PetscObject), for example,
PetscObjectQueryFunction((PetscObject)ksp,...);
- name - name associated with the child function
Output Parameter:
. fptr - function pointer
Level: advanced
Concepts: objects^composing functions
Concepts: composing functions
Concepts: functions^querying
Concepts: objects^querying
Concepts: querying objects
.seealso: PetscObjectComposeFunction(), PetscFunctionListFind()
M*/
PETSC_EXTERN PetscErrorCode PetscObjectQueryFunction_Private(PetscObject obj,const char name[],void (**ptr)(void))
{
PetscErrorCode ierr;
PetscFunctionBegin;
PetscValidHeader(obj,1);
PetscValidCharPointer(name,2);
ierr = (*obj->bops->queryfunction)(obj,name,ptr);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:37,代码来源:inherit.c
示例19: PetscObjectComposeFunction_Private
PetscErrorCode PetscObjectComposeFunction_Private(PetscObject obj,const char name[],void (*fptr)(void))
{
PetscErrorCode ierr;
PetscFunctionBegin;
PetscValidHeader(obj,1);
PetscValidCharPointer(name,2);
ierr = (*obj->bops->composefunction)(obj,name,fptr);CHKERRQ(ierr);
PetscFunctionReturn(0);
}
开发者ID:firedrakeproject,项目名称:petsc,代码行数:10,代码来源:inherit.c
注:本文中的PetscValidHeader函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论