void PrintVectorAll( char *filename, Vector *v) { amps_File file; int g; Grid *grid; if ((file = amps_Fopen(filename, "w")) == NULL) { amps_Printf("Error: can't open output file %s\n", filename); exit(1); } amps_Fprintf(file, "===================================================\n"); grid = VectorGrid(v); for(g = 0; g < GridNumSubgrids(grid); g++) { amps_Fprintf(file, "Subvector Number: %d\n", g); PrintSubvectorAll(file, VectorSubvector(v, g)); } amps_Fprintf(file, "===================================================\n"); fflush(file); amps_Fclose(file); }
void PrintBCPressureData( BCPressureData *bc_pressure_data) { amps_Printf("Pressure BC Information\n"); if ( BCPressureDataNumPatches(bc_pressure_data) == -1 ) { amps_Printf("Pressure BCs have not been setup.\n"); } else if ( BCPressureDataNumPatches(bc_pressure_data) == 0 ) { amps_Printf("No Pressure BCs.\n"); } else { amps_Printf("Pressure BCs exist.\n"); } }
void PrintTimeCycleData( TimeCycleData *time_cycle_data) { int cycle_number, interval_number; amps_Printf("Time Cycle Information"); amps_Printf(" Number Of Cycles = %d\n", TimeCycleDataNumberOfCycles(time_cycle_data)); amps_Printf(" Interval Divisions :\n"); for(cycle_number = 0; cycle_number < TimeCycleDataNumberOfCycles(time_cycle_data); cycle_number++) { amps_Printf(" id[%02d] = %d\n", cycle_number, TimeCycleDataIntervalDivision(time_cycle_data, cycle_number)); } amps_Printf(" Interval Data\n"); for(cycle_number = 0; cycle_number < TimeCycleDataNumberOfCycles(time_cycle_data); cycle_number++) { for(interval_number = 0; interval_number < TimeCycleDataIntervalDivision(time_cycle_data, cycle_number); interval_number++) { amps_Printf(" d[%02d][%03d] = %d\n", cycle_number, interval_number, TimeCycleDataInterval(time_cycle_data, cycle_number, interval_number)); } } amps_Printf(" Repeat Counts :\n"); for(cycle_number = 0; cycle_number < TimeCycleDataNumberOfCycles(time_cycle_data); cycle_number++) { amps_Printf(" r[%02d] = %d\n", cycle_number, TimeCycleDataRepeatCount(time_cycle_data, cycle_number)); } amps_Printf(" Cycle Lengths :\n"); for(cycle_number = 0; cycle_number < TimeCycleDataNumberOfCycles(time_cycle_data); cycle_number++) { amps_Printf(" l[%02d] = %d\n", cycle_number, TimeCycleDataCycleLength(time_cycle_data, cycle_number)); } }
void wrfparflowinit_(char *input_file) { Grid *grid; char *seperators = " \n"; /* Fortran char array is not NULL terminated */ char *filename = strtok(input_file, seperators); /*----------------------------------------------------------------------- * Initialize AMPS from existing MPI state *-----------------------------------------------------------------------*/ if (amps_EmbeddedInit()) { amps_Printf("Error: amps_EmbeddedInit initalization failed\n"); exit(1); } /*----------------------------------------------------------------------- * Set up globals structure *-----------------------------------------------------------------------*/ NewGlobals(filename); /*----------------------------------------------------------------------- * Read the Users Input Deck *-----------------------------------------------------------------------*/ amps_ThreadLocal(input_database) = IDB_NewDB(GlobalsInFileName); /*----------------------------------------------------------------------- * Setup log printing *-----------------------------------------------------------------------*/ NewLogging(); /*----------------------------------------------------------------------- * Setup timing table *-----------------------------------------------------------------------*/ NewTiming(); /* End of main includes */ /* Begin of Solver includes */ GlobalsNumProcsX = GetIntDefault("Process.Topology.P", 1); GlobalsNumProcsY = GetIntDefault("Process.Topology.Q", 1); GlobalsNumProcsZ = GetIntDefault("Process.Topology.R", 1); GlobalsNumProcs = amps_Size(amps_CommWorld); GlobalsBackground = ReadBackground(); GlobalsUserGrid = ReadUserGrid(); SetBackgroundBounds(GlobalsBackground, GlobalsUserGrid); GlobalsMaxRefLevel = 0; amps_ThreadLocal(Solver_module) = PFModuleNewModuleType(SolverImpesNewPublicXtraInvoke, SolverRichards, ("Solver")); amps_ThreadLocal(solver) = PFModuleNewInstance(amps_ThreadLocal(Solver_module), ()); /* End of solver includes */ SetupRichards(amps_ThreadLocal(solver)); /* Create the flow grid */ grid = CreateGrid(GlobalsUserGrid); /* Create the PF vector holding flux */ amps_ThreadLocal(evap_trans) = NewVectorType(grid, 1, 1, vector_cell_centered); InitVectorAll(amps_ThreadLocal(evap_trans), 0.0); }