Class MechanicalDesignReport

java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesignReport
All Implemented Interfaces:
Serializable

public class MechanicalDesignReport extends Object implements Serializable
Generates comprehensive mechanical design reports for a process system.

This class provides various output formats for mechanical design deliverables:

  • Equipment List (CSV format for import to Excel/database)
  • Piping Line List with sizes and schedules
  • Weight Report with breakdowns by type and discipline
  • Equipment Data Sheets (summary format)
Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

  • Constructor Details

    • MechanicalDesignReport

      public MechanicalDesignReport(ProcessSystem processSystem)
      Constructor for MechanicalDesignReport.
      Parameters:
      processSystem - the process system to generate reports for
  • Method Details

    • runDesignCalculations

      public void runDesignCalculations()
      Run all design calculations to prepare data for reports.
    • generateEquipmentListCSV

      public String generateEquipmentListCSV()
      Generate equipment list in CSV format.
      Returns:
      CSV formatted equipment list
    • generatePipingLineListCSV

      public String generatePipingLineListCSV()
      Generate piping line list in CSV format.
      Returns:
      CSV formatted piping line list
    • generateWeightReport

      public String generateWeightReport()
      Generate weight report.
      Returns:
      formatted weight report
    • generateEquipmentDataSheets

      public String generateEquipmentDataSheets()
      Generate equipment data sheets.
      Returns:
      formatted data sheets
    • writeEquipmentListCSV

      public void writeEquipmentListCSV(String filePath) throws IOException
      Write equipment list to CSV file.
      Parameters:
      filePath - path to output file
      Throws:
      IOException - if file cannot be written
    • writePipingLineListCSV

      public void writePipingLineListCSV(String filePath) throws IOException
      Write piping line list to CSV file.
      Parameters:
      filePath - path to output file
      Throws:
      IOException - if file cannot be written
    • writeWeightReport

      public void writeWeightReport(String filePath) throws IOException
      Write weight report to text file.
      Parameters:
      filePath - path to output file
      Throws:
      IOException - if file cannot be written
    • generateCompleteReport

      public String generateCompleteReport()
      Generate complete design package report.
      Returns:
      formatted complete report
    • toJson

      public String toJson()
      Generate combined JSON report for all mechanical design data.

      This method creates a comprehensive JSON output combining:

      • System-level totals (weights, utilities, plot space)
      • Equipment list with individual mechanical design data
      • Piping interconnection design data
      • Weight breakdowns by type and discipline

      Usage example:

      
      MechanicalDesignReport report = new MechanicalDesignReport(process);
      report.runDesignCalculations();
      String json = report.toJson();
      
      
      Returns:
      JSON string with all mechanical design data
    • toCompactJson

      public String toCompactJson()
      Generate compact JSON report (no pretty printing).
      Returns:
      compact JSON string
    • writeJsonReport

      public void writeJsonReport(String filePath) throws IOException
      Write JSON report to file.
      Parameters:
      filePath - path to output file
      Throws:
      IOException - if file cannot be written
    • getEquipmentDescription

      private String getEquipmentDescription(SystemMechanicalDesign.EquipmentDesignSummary equip)
      Get equipment description based on type.
      Parameters:
      equip - equipment summary
      Returns:
      description string
    • repeat

      private static String repeat(String str, int count)
      Repeat a string n times (Java 8 compatible).
      Parameters:
      str - string to repeat
      count - number of times
      Returns:
      repeated string
    • getSystemDesign

      public SystemMechanicalDesign getSystemDesign()
      Get the system mechanical design.
      Returns:
      system mechanical design
    • getPipingDesign

      public ProcessInterconnectionDesign getPipingDesign()
      Get the piping design.
      Returns:
      piping design