Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Headers and license #2

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions DISCLAIMER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# DISCLAIMER

This project was funded by the United States Department of Energy, National Energy Technology Laboratory, in part, through a site support contract. Neither the United States Government nor any agency thereof, nor any of their employees, nor the support contractor, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof.
63 changes: 63 additions & 0 deletions InitGui.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# ***************************************************************************
# * *
# * Copyright: See License.md file *
# * *
# * Authors: Yash Girish Shah, Grigorios Panagakos *
# * *
# ***************************************************************************



class packedColGenWorkbench (Workbench):

MenuText = "Packed Columns"
ToolTip = "A workbench for generating packed columns with structured packing"

def getWorkbenchFolder(self):

import os.path
from os import path

recommended_folders = (
"Mod/packedColumnGen" ,
"Mod/FreeCAD-packedColumnGen"
)

basedir = str(FreeCAD.getUserAppDataDir())
folder = ""

for tryfolder in recommended_folders:
if path.exists(basedir + tryfolder):
folder = basedir + tryfolder
return folder


return ""


def __init__(self):

self.__class__.Icon = self.getWorkbenchFolder() + "/Resources/Icons/column_icon.svg"

def Initialize(self):
"""This function is executed when FreeCAD starts"""
import FreeCAD
import columnGen
self.list = ["PackedColumn","PackedColumn2D","Generate"]
self.appendToolbar("ColumnGenerator",self.list)
self.appendMenu("ColumnGenerator",self.list)
#self.appendMenu(["An existing Menu","My submenu"],self.list)

def Activated(self):
return

def Deactivated(self):
return

def ContextMenu(self, recipient):
self.appendContextMenu("ColumnGenerator",self.list)

def GetClassName(self):
return "Gui::PythonWorkbench"

Gui.addWorkbench(packedColGenWorkbench())
68 changes: 68 additions & 0 deletions InitGui.py~
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a backup file and shouldn't be included here.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this and other issues! Fixed this in the most recent commit and will submit another merge request.

Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# ***************************************************************************
# * *
# * Copyright: See License.md file *
# * *
# * Authors: Yash Girish Shah, Grigorios Panagakos *
# * *
# ***************************************************************************



class packedColGenWorkbench (Workbench):

MenuText = "Packed Columns"
ToolTip = "A workbench for generating packed columns with structured packing"

def getWorkbenchFolder(self):

import os.path
from os import path

recommended_folders = (
"Mod/packedColumnGen" ,
"Mod/FreeCAD-packedColumnGen"
)

basedir = str(FreeCAD.getUserAppDataDir())
folder = ""

for tryfolder in recommended_folders:
if path.exists(basedir + tryfolder):
folder = basedir + tryfolder
return folder


return ""


def __init__(self):

self.__class__.Icon = self.getWorkbenchFolder() + "/Resources/Icons/column_icon.svg"

def Initialize(self):
"""This function is executed when FreeCAD starts"""
import FreeCAD
import columnGen # import here all the needed files that create your FreeCAD commands
self.list = ["PackedColumn","PackedColumn2D","Generate"]
self.appendToolbar("ColumnGenerator",self.list) # creates a new toolbar with your commands
self.appendMenu("ColumnGenerator",self.list) # creates a new menu
#self.appendMenu(["An existing Menu","My submenu"],self.list) # appends a submenu to an existing menu

def Activated(self):
"""This function is executed when the workbench is activated"""
return

def Deactivated(self):
"""This function is executed when the workbench is deactivated"""
return

def ContextMenu(self, recipient):
"""This is executed whenever the user right-clicks on screen"""
# "recipient" will be either "view" or "tree"
self.appendContextMenu("ColumnGenerator",self.list) # add commands to the context menu

def GetClassName(self):
# this function is mandatory if this is a full python workbench
return "Gui::PythonWorkbench"

Gui.addWorkbench(packedColGenWorkbench())
144 changes: 72 additions & 72 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,72 @@
Copyright and License
=====================

Copyright (c) 2012 - 2024

Copyright Notice
----------------

Foqus was produced under the DOE Carbon Capture Simulation Initiative (CCSI), and is copyright (c)
2012 - 2024 by the software owners: Oak Ridge Institute for Science and Education (ORISE), TRIAD
National Security, LLC., Lawrence Livermore National Security, LLC., The Regents of the University
of California, through Lawrence Berkeley National Laboratory, Battelle Memorial Institute, Pacific
Northwest Division through Pacific Northwest National Laboratory, Carnegie Mellon University, West
Virginia University, Boston University, the Trustees of Princeton University, The University of
Texas at Austin, URS Energy & Construction, Inc., et al.. All rights reserved.

NOTICE. This Software was developed under funding from the U.S. Department of Energy and the
U.S. Government consequently retains certain rights. As such, the U.S. Government has been granted
for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license
in the Software to reproduce, distribute copies to the public, prepare derivative works, and perform
publicly and display publicly, and to permit other to do so.

License Agreement
-----------------

Foqus Copyright (c) 2012 - 2024, by the software owners: Oak Ridge Institute for Science and
Education (ORISE), TRIAD National Security, LLC., Lawrence Livermore National Security, LLC., The
Regents of the University of California, through Lawrence Berkeley National Laboratory, Battelle
Memorial Institute, Pacific Northwest Division through Pacific Northwest National Laboratory,
Carnegie Mellon University, West Virginia University, Boston University, the Trustees of Princeton
University, The University of Texas at Austin, URS Energy & Construction, Inc., et al. All rights
reserved.


Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.

3. Neither the name of the Carbon Capture Simulation Initiative, U.S. Dept. of Energy, the National
Energy Technology Laboratory, Oak Ridge Institute for Science and Education (ORISE), TRIAD
National Security, LLC., Lawrence Livermore National Security, LLC., the University of
California, Lawrence Berkeley National Laboratory, Battelle Memorial Institute, Pacific Northwest
National Laboratory, Carnegie Mellon University, West Virginia University, Boston University, the
Trustees of Princeton University, the University of Texas at Austin, URS Energy & Construction,
Inc., nor the names of its contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the
features, functionality or performance of the source code ("Enhancements") to anyone; however, if
you choose to make your Enhancements available either publicly, or directly to Lawrence Berkeley
National Laboratory, without imposing a separate written license agreement for such Enhancements,
then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to
install, use, modify, prepare derivative works, incorporate into other computer software,
distribute, and sublicense such enhancements or derivative works thereof, in binary and source code
form.
Copyright and License
=====================
Copyright (c) 2012 - 2024
Copyright Notice
----------------
PackedColumnGen was produced under the DOE Carbon Capture Simulation Initiative (CCSI), and is copyright (c)
2012 - 2024 by the software owners: Oak Ridge Institute for Science and Education (ORISE), TRIAD
National Security, LLC., Lawrence Livermore National Security, LLC., The Regents of the University
of California, through Lawrence Berkeley National Laboratory, Battelle Memorial Institute, Pacific
Northwest Division through Pacific Northwest National Laboratory, Carnegie Mellon University, West
Virginia University, Boston University, the Trustees of Princeton University, The University of
Texas at Austin, URS Energy & Construction, Inc., et al.. All rights reserved.
NOTICE. This Software was developed under funding from the U.S. Department of Energy and the
U.S. Government consequently retains certain rights. As such, the U.S. Government has been granted
for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license
in the Software to reproduce, distribute copies to the public, prepare derivative works, and perform
publicly and display publicly, and to permit other to do so.
License Agreement
-----------------
PackedColumnGen Copyright (c) 2012 - 2024, by the software owners: Oak Ridge Institute for Science and
Education (ORISE), TRIAD National Security, LLC., Lawrence Livermore National Security, LLC., The
Regents of the University of California, through Lawrence Berkeley National Laboratory, Battelle
Memorial Institute, Pacific Northwest Division through Pacific Northwest National Laboratory,
Carnegie Mellon University, West Virginia University, Boston University, the Trustees of Princeton
University, The University of Texas at Austin, URS Energy & Construction, Inc., et al. All rights
reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions
and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. Neither the name of the Carbon Capture Simulation Initiative, U.S. Dept. of Energy, the National
Energy Technology Laboratory, Oak Ridge Institute for Science and Education (ORISE), TRIAD
National Security, LLC., Lawrence Livermore National Security, LLC., the University of
California, Lawrence Berkeley National Laboratory, Battelle Memorial Institute, Pacific Northwest
National Laboratory, Carnegie Mellon University, West Virginia University, Boston University, the
Trustees of Princeton University, the University of Texas at Austin, URS Energy & Construction,
Inc., nor the names of its contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the
features, functionality or performance of the source code ("Enhancements") to anyone; however, if
you choose to make your Enhancements available either publicly, or directly to Lawrence Berkeley
National Laboratory, without imposing a separate written license agreement for such Enhancements,
then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to
install, use, modify, prepare derivative works, incorporate into other computer software,
distribute, and sublicense such enhancements or derivative works thereof, in binary and source code
form.
39 changes: 39 additions & 0 deletions README.html
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a duplicate of the README.md file? If so, is it needed?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the html version. Git automatically displays the markdown files in a nice format, so the html file is not really needed here.

Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<h1>PackedColumnGen</h1>

<p>PackedColumnGen is a tool for building CAD models of absorber columns with customized structured packing designs. The tool generates these designs from a user-defined set of input parameters. This tool is designed as <a href="https://wiki.freecad.org/Workbenches">Workbench</a> for <a href="https://www.freecad.org/">FreeCAD</a>, a free and open-source CAD software with a user-friendly interface. The tool currently supports the following features:</p>

<ul>
<li>Parametric construction of three-dimensional columns with structured packing.</li>
<li>Addition of cooling channels to create process intensified structured packing.</li>
<li>Built-in functions that extend support for scripted packing generation.</li>
</ul>

<p>Refer to the <a href="./doc/README.md">user guide</a> to learn more and get started with example cases.</p>

<h2>Installation</h2>

<h3>Prerequisites</h3>

<p>FreeCAD version 0.19 or newer needs to be installed before running the setup. The latest version can be downloaded <a href="https://www.freecad.org/">here</a>.</p>

<h3>Installation using the Setup file</h3>

<p>The tool source code is packaged into the <code>Setup.exe</code> executable file, which extracts to the default FreeCAD modules directory. On Windows, the module directory is <code>%APPDATA%\FreeCAD\Mod\</code>, which is usually <code>C:\Users\username\Appdata\Roaming\FreeCAD\Mod\</code>. Restart FreeCAD after extraction for changes to take effect and the module should be accessible as <code>Packed Columns</code> workbench in FreeCAD as shown below.</p>

<p><img src="./doc/Images/Workbench.png" alt="Workbench demonstration" title="" /></p>

<h3>Manual installation</h3>

<ol>
<li>Find the FreeCAD workbench directory by typing <code>App.getUserAppDataDir()</code> in FreeCAD <a href="https://wiki.freecad.org/Python_console">Python console</a>.</li>
<li>Navigate to the workbench directory and copy or extract the contents of this repository to a new folder within this directory.</li>
<li><strong>IMPORTANT</strong> Rename the folder to "packedColumnGen" (case sensitive).</li>
<li>Restart FreeCAD for changes to take effect. The workbench <code>Packed Columns</code> should now in the list of workbenches in FreeCAD.</li>
</ol>

<h2>Authors</h2>

<blockquote>
<p><a href="mailto:[email protected]">Yash Girish Shah</a> <br />
<a href="mailto:[email protected]">Grigorios Panagakos</a></p>
</blockquote>
31 changes: 29 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,29 @@
# Packed_Column_Gen
Parametric construction of three-dimensional columns with structured packing.
# PackedColumnGen
PackedColumnGen is a tool for building CAD models of absorber columns with customized structured packing designs. The tool generates these designs from a user-defined set of input parameters. This tool is designed as [Workbench](https://wiki.freecad.org/Workbenches) for [FreeCAD](https://www.freecad.org/), a free and open-source CAD software with a user-friendly interface. The tool currently supports the following features:

* Parametric construction of three-dimensional columns with structured packing.
* Addition of cooling channels to create process intensified structured packing.
* Built-in functions that extend support for scripted packing generation.

Refer to the [user guide](./doc/README.md) to learn more and get started with example cases.

## Installation

### Prerequisites
FreeCAD version 0.19 or newer needs to be installed before running the setup. The latest version can be downloaded [here](https://www.freecad.org/).

### Installation using the Setup file

The tool source code is packaged into the `Setup.exe` executable file, which extracts to the default FreeCAD modules directory. On Windows, the module directory is `%APPDATA%\FreeCAD\Mod\`, which is usually `C:\Users\username\Appdata\Roaming\FreeCAD\Mod\`. Restart FreeCAD after extraction for changes to take effect and the module should be accessible as `Packed Columns` workbench in FreeCAD as shown below.

![Workbench demonstration](./doc/Images/Workbench.png)

### Manual installation
1. Find the FreeCAD workbench directory by typing `App.getUserAppDataDir()` in FreeCAD [Python console](https://wiki.freecad.org/Python_console).
2. Navigate to the workbench directory and copy or extract the contents of this repository to a new folder within this directory.
3. **IMPORTANT** Rename the folder to "packedColumnGen" (case sensitive).
4. Restart FreeCAD for changes to take effect. The workbench `Packed Columns` should now in the list of workbenches in FreeCAD.

## Authors
> [Yash Girish Shah](mailto:[email protected])
> [Grigorios Panagakos](mailto:[email protected])
Binary file added Resources/Icons/columnTree.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading