A typical prognostic solution calls the following routines: 

		femmodel->SetCurrentConfiguration
		femmodel->parameters->FindParam

		solver_linear
				femmodel->parameters->FindParam
				UpdateConstraintsx
						parameters->FindParam
						SpcNodesx
								constraint->ConstrainNode(nodes,parameters);
						NodesDofx
								nodes->NumberOfNodes
										MPI_Allreduce 
								nodes->FlagClones
										this->NumberOfNodes
										Ranks
										MPI_Allreduce 
										node->SetClone
								nodes->DistributeDofs
										node->InAnalysis
										node->DistributeDofs
										MPI_Gather
										MPI_Bcast
										node->OffsetDofs
										this->MaxNumDofs
										this->NumberOfNodes
										node->ShowTrueDofs
										MPI_Allreduce 
										node->UpdateCloneDofs
				SystemMatricesx
						parameters->FindParam
						nodes->NumberOfDofs
						nodes->MaxNumDofs
						NewMat
						NewVec
						element->CreateKMatrix
						element->CreatePVector
						load->CreateKMatrix
						load->CreatePVector
						MatAssemblyBegin
						MatAssemblyEnd
						MatCompress
						VecAssemblyBegin
						VecAssemblyEnd
						MatNorm
			CreateNodalConstraintsx
						nodes->NumberOfDofs
						ys=NewVec
						node->CreateNodalConstraints
						VecAssemblyBegin
						VecAssemblyEnd
			Reduceloadx
						MatGetSize
						MatGetLocalSize
						NewVec
						VecDuplicate
						VecSet
						VecAssemblyBegin
						VecAssemblyEnd
						MatMultPatch
						MatMultPatch
						VecAXPY(pf,a,Kfsy_s);  
						VecFree
			Solverx
						MatGetSize
						PetscOptionsGetString
						VecDuplicate
						MatGetLocalSize
						PetscOptionsDetermineSolverType
						MatConvert
						KSPCreate
						KSPSetOperators
						KSPSetFromOptions
						KSPGetPC
						PCFactorSetMatSolverPackage
						KSPSolve
						KSPGetIterationNumber
						KSPFree
			Mergesolutionfromftogx
						parameters->FindParam
						nodes->NumberOfDofs
						VecSet(ys,0.0);
						NewVec
						VecMergex
						VecMergex
			InputUpdateFromSolutionx
						VecToMPISerial
						InputUpdateFromSolutionx
						element->InputUpdateFromSolution
			VecFree

		InputToResultx
						element->InputToResult(enum_type,step,time);





The resulting MPI routines that are called are the following: 

MPI_Allreduce 
MPI_Allreduce 
MPI_Gather
MPI_Bcast
MPI_Allreduce 

The resulting PETSC routines that are called are the following:

MatAssemblyBegin
MatAssemblyEnd
MatSetValues
MatCompress
MatNorm
MatGetSize
MatGetLocalSize
MatConvert

VecDuplicate
VecSet
VecAssemblyBegin
VecAssemblyEnd
VecAXPY

KSPCreate
KSPSetOperators
KSPSetFromOptions
KSPGetPC
KSPSetUp
KSPSolve
KSPGetIterationNumber
PCFactorSetMatSolverPackage
VecSet


The resulting routines are wrappers to PETSC routines, with essentially a PETSC flavor to it: 

NewMat
NewVec
MatMultPatch
PetscOptionsGetString
PetscOptionsDetermineSolverType
VecMergex
VecToMPISerial
VecFree
KSPFree
