Enzo 2.2 documentation

File naming conventions and routine locations

The large number of source files can be intimidating even to the experienced Enzo developer, and this page describes some of the naming conventions. Familiarity with grep or ack and pipes like ls -1 | grep are essential. Also routines with a similar functionality are grouped together with a common name.

Here are some file naming rules that are used.

  1. Internal capitalization is used for C files, all lowercase with underscores for fortran files and header files. All Fortran files end with .F.
  2. With very few exceptions, Enzo has a one function per file layout, with the file name being the function name.
  3. Object methods have the object name prepended to the beginning, such as the member of the grid class SolveHydroEquations lives in the file Grid_SolveHydroEquations.C.

Below we list some examples of filenames, grouped by functionality. This is not a complete list of files in Enzo.

Grid methods

Initializers

Grid_NohInitializeGrid.C
Grid_OneZoneFreefallTestInitializeGrid.C
Grid_NestedCosmologySimulationInitializeGrid.C
Grid_RHIonizationTestInitializeGrid.C
Grid_RadHydroStreamTestInitializeGrid.C
Grid_RadiatingShockInitializeGrid.C

Particles

Grid_AddParticlesFromList.C
Grid_MoveAllParticles.C
Grid_MoveSubgridParticlesFast.C
Grid_TracerParticleCreateParticles.C
Grid_TracerParticleOutputData.C
Grid_TracerParticleSetVelocity.C
Grid_TransferSubgridParticles.C
Grid_TransferSubgridStars.C
Grid_UpdateParticlePosition.C
Grid_UpdateParticleVelocity.C

Solvers

Grid_ComputeCoolingTime.C
Grid_ComputeDustTemperatureField.C
Grid_ComputeGammaField.C
Grid_ComputePressure.C
Grid_MultiSpeciesHandler.C
Grid_SolveHydroEquations.C
Grid_SolvePPM_DE.C
Grid_SolvePrimordialChemistryCVODE.C
Grid_SolveRadiativeCooling.C
Grid_SolveRateAndCoolEquations.C
Grid_SolveRateEquations.C
Grid_ZeusSolver.C
Grid_xEulerSweep.C
Grid_yEulerSweep.C
Grid_zEulerSweep.C

Gravity and acceleration

Grid_AddBaryonsToGravitatingMassField.C
Grid_AddExternalAcceleration.C
Grid_AddExternalPotentialField.C
Grid_ComputeAccelerationField.C
Grid_ComputeAccelerationFieldExternal.C
Grid_ComputeAccelerations.C
Grid_ComputeAccelerationsFromExternalPotential.C
Grid_DepositBaryons.C
Grid_DepositMustRefineParticles.C
Grid_DepositParticlePositions.C
Grid_PrepareFFT.C
Grid_PrepareGreensFunction.C
Grid_PreparePotentialField.C
Grid_SolveForPotential.C

Hierarchy control

Grid_AddFieldMassToMassFlaggingField.C
Grid_AddOverlappingParticleMassField.C
Grid_AllocateGrids.C
Grid_CopyZonesFromGrid.C
Grid_FlagCellsToAvoidRefinement.C
Grid_FlagCellsToAvoidRefinementRegion.C
Grid_FlagCellsToBeRefinedByCoolingTime.C
Grid_FlagCellsToBeRefinedByJeansLength.C
Grid_FlagCellsToBeRefinedByMass.C
Grid_SetFlaggingField.C
Grid_SetFlaggingFieldStaticRegions.C

Utilities

Grid_AccessBaryonFields.C
Grid_ComputeTemperatureField.C
Grid_IdentifyColourFields.C
Grid_IdentifyGloverSpeciesFields.C
Grid_IdentifyNewSubgrids.C
Grid_IdentifyNewSubgridsSmall.C
Grid_IdentifyPhysicalQuantities.C
Grid_IdentifyRadiationPressureFields.C
Grid_IdentifyRadiativeTransferFields.C
Grid_IdentifyShockSpeciesFields.C
Grid_IdentifySpeciesFields.C

Conduction

Grid_ConductHeat.C
Grid_ConductionBubbleInitialize.C
Grid_ConductionCloudInitialize.C
Grid_ConductionTestInitialize.C

Radiation

Grid_AddH2Dissociation.C
Grid_AddRadiationImpulse.C
Grid_AddRadiationPressureAcceleration.C
Grid_AllocateInterpolatedRadiation.C
Grid_ComputePhotonTimestep.C
Grid_ComputePhotonTimestepHII.C
Grid_ComputePhotonTimestepTau.C
Grid_FinalizeRadiationFields.C
Grid_PhotonPeriodicBoundary.C
Grid_PhotonSortLinkedLists.C
Grid_SetSubgridMarkerFromParent.C
Grid_SetSubgridMarkerFromSibling.C
Grid_SetSubgridMarkerFromSubgrid.C
Grid_Shine.C

I/O

New_Grid_ReadGrid.C
New_Grid_WriteGrid.C
Grid_WriteNewMovieData.C
Grid_WriteNewMovieDataSeparateParticles.C

Communcation

Grid_CommunicationMoveGrid.C
Grid_CommunicationReceiveRegion.C
Grid_CommunicationSendParticles.C
Grid_CommunicationSendPhotonPackages.C
Grid_CommunicationSendRegion.C
Grid_CommunicationSendStars.C
Grid_CommunicationTransferParticlesOpt.C
Grid_CommunicationTransferStarsOpt.C

Feedback

Grid_ChangeParticleTypeBeforeSN.C
Grid_AddFeedbackSphere.C
Grid_FindNewStarParticles.C

Analysis

Grid_CalculateAngularMomentum.C
Grid_ConvertToNumpy.C

Turbulence

Grid_AddRandomForcing.C
Grid_AppendForcingToBaryonFields.C
Grid_ComputeRandomForcingFields.C
Grid_DetachForcingFromBaryonFields.C
Grid_PrepareRandomForcingNormalization.C
Grid_ReadRandomForcingFields.C
Grid_RemoveForcingFromBaryonFields.C

Communication methods

CommunicationBroadcastValue.C
CommunicationBufferedSend.C
CommunicationCollectParticles.C
CommunicationCombineGrids.C
CommunicationInitialize.C
CommunicationLoadBalanceGrids.C
CommunicationLoadBalancePhotonGrids.C
CommunicationLoadBalanceRootGrids.C
CommunicationMergeStarParticle.C
CommunicationNonblockingRoutines.C
CommunicationParallelFFT.C
CommunicationPartitionGrid.C
CommunicationReceiveFluxes.C
CommunicationReceiveHandler.C
CommunicationReceiverPhotons.C
CommunicationSendFluxes.C
CommunicationShareGrids.C
CommunicationShareParticles.C
CommunicationShareStars.C
CommunicationSyncNumberOfParticles.C
CommunicationSyncNumberOfPhotons.C
CommunicationTransferParticlesOpt.C
CommunicationTransferPhotons.C
CommunicationTransferStarsOpt.C
CommunicationTransferSubgridParticles.C
CommunicationTranspose.C
CommunicationUpdateStarParticleCount.C
CommunicationUtilities.C

Core methods

EvolveLevel.C
EvolveHierarchy.C
enzo.C

External boundary methods

ExternalBoundary_AddField.C
ExternalBoundary_AppendForcingToBaryonFields.C
ExternalBoundary_DeleteObsoleteFields.C
ExternalBoundary_DetachForcingFromBaryonFields.C
ExternalBoundary_IdentifyPhysicalQuantities.C
ExternalBoundary_InitializeExternalBoundaryFaceIO.C
ExternalBoundary_Prepare.C
ExternalBoundary_ReadExternalBoundary.C
ExternalBoundary_SetDoubleMachBoundary.C
ExternalBoundary_SetExternalBoundary.C
ExternalBoundary_SetExternalBoundaryIO.C
ExternalBoundary_SetExternalBoundaryParticles.C
ExternalBoundary_SetShockPoolBoundary.C
ExternalBoundary_SetWavePoolBoundary.C
ExternalBoundary_SetWengenCollidingFlowBoundary.C
ExternalBoundary_WriteExternalBoundary.C

Halo finder methods

FOF.C
FOF_Finalize.C
FOF_Initialize.C
FOF_allocate.C
FOF_cmpfunc.C
FOF_density.C
FOF_forcetree.C
FOF_iindexx.C
FOF_indexx.C
FOF_ngbtree.C
FOF_nrutil.C
FOF_potential.C
FOF_properties.C
FOF_selectb.C
FOF_sort2_flt_int.C
FOF_sort2_int.C
FOF_sort_int.C
FOF_subfind.C
FOF_subgroups.C
FOF_unbind.C

Hydrodynamics methods

pgas2d.F
pgas2d_dual.F
twoshock.F
inteuler.F
intlgrg.F
intpos.F
intprim.F
intrmp.F
intvar.F
calc_eigen.F
calcdiss.F
euler.F
flux_hll.F
flux_hllc.F
flux_twoshock.F

Chemistry and energy solvers

solve_cool.F
solve_rate.F
solve_rate_cool.F
calc_photo_rates.F
calc_rad.F
calc_rates.F
calc_tdust_1d.F
calc_tdust_3d.F
cool1d.F
cool1d_cloudy.F
cool1d_koyama.F
cool1d_multi.F
cool1d_sep.F
cool_multi_lum.F
cool_multi_time.F
cool_time.F

Gravity methods

mg_calc_defect.F
mg_prolong.F
mg_prolong2.F
mg_relax.F
mg_restrict.F
FastFourierTransform.C
FastFourierTransformPrepareComplex.C
FastFourierTransformSGIMATH.C
PrepareDensityField.C
PrepareGravitatingMassField.C
PrepareIsolatedGreensFunction.C

Hierarchy methods

RebuildHierarchy.C
CopyZonesFromOldGrids.C
CreateSUBlingList.C
CreateSiblingList.C
DepositParticleMassFlaggingField.C
FastSiblingLocatorFinalize.C
FastSiblingLocatorInitialize.C
FastSiblingLocatorInitializeStaticChainingMesh.C
FindSubgrids.C
HilbertCurve3D.C
LoadBalanceHilbertCurve.C
LoadBalanceHilbertCurveRootGrids.C
LoadBalanceSimulatedAnnealing.C
TransposeRegionOverlap.C
UpdateFromFinerGrids.C

Radiation methods

Flux limited diffusion

RadiativeTransferCallFLD.C
RHIonizationClumpInitialize.C
RHIonizationSteepInitialize.C
RHIonizationTestInitialize.C
RadHydroConstTestInitialize.C
RadHydroGreyMarshakWaveInitialize.C
RadHydroPulseTestInitialize.C
RadHydroRadShockInitialize.C
RadHydroStreamTestInitialize.C
gFLDProblem_ComputeRHS.C
gFLDProblem_ComputeRadiationIntegrals.C
gFLDProblem_ComputeTemperature.C
gFLDProblem_ComputeTimeStep.C
gFLDProblem_CrossSections.C
gFLDProblem_Dump.C
gFLDProblem_EnforceBoundary.C
gFLDProblem_Evolve.C
gFLDProblem_FInterface.C
gFLDProblem_InitialGuess.C
gFLDProblem_Initialize.C
gFLDProblem_LocRHS.C
gFLDProblem_RadiationSpectrum.C
gFLDProblem_SetupBoundary.C
gFLDProblem_UpdateBoundary.C
gFLDProblem_WriteParameters.C
gFLDProblem_constructor.C
gFLDProblem_destructor.C
gFLDProblem_lsetup.C
gFLDProblem_lsolve.C
gFLDProblem_nlresid.C
gFLDSplit_ComputeRadiationIntegrals.C
gFLDSplit_ComputeTemperature.C
gFLDSplit_ComputeTimeStep.C
gFLDSplit_CrossSections.C
gFLDSplit_Dump.C
gFLDSplit_EnforceBoundary.C
gFLDSplit_Evolve.C
gFLDSplit_FInterface.C
gFLDSplit_InitialGuess.C
gFLDSplit_Initialize.C
gFLDSplit_RadiationSpectrum.C
gFLDSplit_SetupBoundary.C
gFLDSplit_WriteParameters.C
gFLDSplit_constructor.C
gFLDSplit_destructor.C

Adaptive ray tracing

EvolvePhotons.C
RadiativeTransferComputeTimestep.C
RadiativeTransferHealpixRoutines.C
RadiativeTransferInitialize.C
RadiativeTransferLoadBalanceRevert.C
RadiativeTransferMoveLocalPhotons.C
RadiativeTransferPrepare.C
RadiativeTransferReadParameters.C
RadiativeTransferWriteParameters.C
SetSubgridMarker.C
FindSuperSource.C
FindSuperSourceByPosition.C

I/O

OutputAsParticleData.C
OutputCoolingTimeOnly.C
OutputFromEvolveLevel.C
OutputLevelInformation.C
OutputPotentialFieldOnly.C
OutputSmoothedDarkMatterOnly.C
ReadAllData.C
ReadAttr.C
ReadDataHierarchy.C
ReadEvolveRefineFile.C
ReadFile.C
ReadGridFile.C
ReadIntFile.C
ReadMetalCoolingRates.C
ReadMetalCoolingRatios.C
ReadParameterFile.C
ReadPhotonSources.C
ReadRadiationData.C
ReadRadiativeTransferSpectrumTable.C
ReadStarParticleData.C
ReadUnits.C
WriteAllData.C
WriteAllDataCubes.C
WriteConfigure.C
WriteDataCubes.C
WriteDataHierarchy.C
WriteHDF5HierarchyFile.C
WriteMemoryMap.C
WriteParameterFile.C
WritePhotonSources.C
WriteRadiationData.C
WriteStarParticleData.C
WriteStreamData.C
WriteStringAttr.C
WriteTaskMap.C
WriteTracerParticleData.C
WriteUnits.C

Star formation methods

StarParticleAccretion.C
StarParticleAddFeedback.C
StarParticleCountOnly.C
StarParticleDeath.C
StarParticleFinalize.C
StarParticleFindAll.C
StarParticleInitialize.C
StarParticleMergeMBH.C
StarParticleMergeNew.C
StarParticlePopIII_IMFInitialize.C
StarParticleRadTransfer.C
StarParticleSetRefinementLevel.C
StarParticleSubtractAccretedMass.C
StarRoutines.C
Star_Accrete.C
Star_AccreteAngularMomentum.C
Star_ActivateNewStar.C
Star_ApplyFeedbackTrue.C
Star_AssignAccretedAngularMomentum.C
Star_AssignFinalMassFromIMF.C
Star_CalculateFeedbackParameters.C
Star_CalculateMassAccretion.C
Star_ComputePhotonRates.C
Star_DeleteCopyInGridGlobal.C
Star_DeleteParticle.C
Star_DisableParticle.C
Star_FindFeedbackSphere.C
Star_HitEndpoint.C
Star_IsARadiationSource.C
Star_MirrorToParticle.C
Star_MultiplyAccretionRate.C
Star_RemoveMassFromStarAfterFeedback.C
Star_SetFeedbackFlag.C
Star_SphereContained.C
Star_SubtractAccretedMassFromCell.C
cluster_maker.F
star_feedback_pn_snia.F
star_maker1.F
star_maker2.F
star_maker3.F
star_maker4.F
star_maker5.F
star_maker7.F
star_maker8.C
star_maker9.C
star_maker_h2reg.F
sink_maker.C
pop3_color_maker.F
pop3_maker.F
pop3_properties.F

Utilities

cic_deposit.F
cic_flag.F
cic_interp.F
cicinterp.F
smooth.F
smooth_deposit.F
rotate2d.F
rotate3d.F
int_lin3d.F
int_spline.F
interp1d.F
interp2d.F
interp3d.F
interpolate.F
utilities.F
MemoryAllocationRoutines.C
MemoryPoolRoutines.C
SortCompareFunctions.C