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
MatCompress
MatNorm
MatGetSize
MatGetLocalSize
MatConvert

VecDuplicate
VecSet
VecAssemblyBegin
VecAssemblyEnd
VecAXPY

KSPCreate
KSPSetOperators
KSPSetFromOptions
KSPGetPC
KSPSolve
KSPGetIterationNumber
PCFactorSetMatSolverPackage
VecSet


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

NewMat
NewVec
MatMultPatch
PetscOptionsGetString
PetscOptionsDetermineSolverType
KSPFree
VecMergex
VecToMPISerial
VecFree
KSPFree
