:orphan:
# CharacteristicSetType
Builds Characteristic for a particular solver. 
## Synopsis
```
#include "petsccharacteristic.h" 
PetscErrorCode CharacteristicSetType(Characteristic c, CharacteristicType type)
```
Logically Collective


## Input Parameters

- ***c    -*** the method of characteristics context
- ***type -*** a known method



## Options Database Key

- ***-characteristic_type <method> -*** Sets the method; use -help for a list
of available methods





## Notes
See "include/petsccharacteristic.h" for available methods

Normally, it is best to use the CharacteristicSetFromOptions() command and
then set the Characteristic type from the options database rather than by using
this routine.  Using the options database provides the user with
maximum flexibility in evaluating the many different Krylov methods.
The CharacteristicSetType() routine is provided for those situations where it
is necessary to set the iterative solver independently of the command
line or options database.  This might be the case, for example, when
the choice of iterative solver changes during the execution of the
program, and the user's application is taking responsibility for
choosing the appropriate method.  In other words, this routine is
not for beginners.


## See Also
 [](ch_ts), `CharacteristicType`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ts/characteristic/interface/characteristic.c.html#CharacteristicSetType">src/ts/characteristic/interface/characteristic.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/characteristic/interface/characteristic.c)


[Index of all Characteristic routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
