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.
Internal capitalization is used for C files, all lowercase with underscores for fortran files and header files. All Fortran files end with .F.
With very few exceptions, Enzo has a one function per file layout, with the file name being the function name.
Object methods have the object name prepended to the beginning, such as the member of the grid class
SolveHydroEquations
lives in the fileGrid_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