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

PullRequest Full Project Review Comments [2020-01-09] #660

Open
wants to merge 1 commit into
base: deleted_code
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
29 changes: 29 additions & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Authors
=======

The DAGMC project began as the CAD-MCNPX project in 2003, and since then has
included contributions from the following:

* Andrew Davis
* Kerry L. Dunn
* Moataz Harb
* Steve Jackson
* Brian Kiedrowski
* Kalin Kiesling
* Jason Kraftcheck
* Lucas Jacobson
* Eric Relson
* Patrick Shriwise
* Rachel N. Slaybaugh
* Brandon Smith
* Tim Tautges
* Meng-Kuo Wang
* Zach Welch
* Paul P.H. Wilson
* Julie C. Zachman

The DAGMC project also relies heavily on the MOAB_ project and the Trelis_
software package.

.. _MOAB: http://sigma.mcs.anl.gov/moab-library
.. _Trelis: http://www.csimsoft.com/trelis.jsp
32 changes: 32 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
project(DAGMC)
cmake_minimum_required(VERSION 3.1)
enable_language(Fortran)

# Set DAGMC version
set(DAGMC_MAJOR_VERSION 3)
set(DAGMC_MINOR_VERSION 1)
set(DAGMC_PATCH_VERSION 0)
set(DAGMC_VERSION ${DAGMC_MAJOR_VERSION}.${DAGMC_MINOR_VERSION}.${DAGMC_PATCH_VERSION})

# Make the scripts in the "cmake" directory available to CMake
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
include(DAGMC_macros)

dagmc_setup_build()

dagmc_setup_options()

find_package(MOAB REQUIRED)
find_package(OpenMP)

dagmc_setup_flags()

if (BUILD_TESTS)
enable_testing()
endif ()

add_subdirectory(src)

dagmc_make_configure_file()

message("")
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
Contributor Code of Conduct
===========================

Our Pledge
----------

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers of the Svalinn software suite, including DAGMC,
pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

Our Standards
-------------

Examples of behavior that contributes to creating a positive environment
include:

* Showing empathy towards other community members
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

Our Responsibilities
--------------------

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

Scope
-----

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

Enforcement
-----------

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the research staff at [email protected]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The research staff is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

Attribution
-----------

This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
available [here](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html).

For answers to common questions about this code of conduct, see [here](https://www.contributor-covenant.org/faq).
34 changes: 34 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Contributing to DAGMC
=====================

The following is a guide to contributing to the DAGMC repository.
Please note there is a [Code of Conduct](https://github.com/svalinn/DAGMC/blob/develop/CODE_OF_CONDUCT.md)
and make sure to follow it in all interactions with this project.

Creating a Pull Request
-----------------------
1. Fork this repository from `develop` and create a branch for new code.
2. Add or update any applicaple tests for the new code.
3. If applicable, update the [README documentation](https://github.com/svalinn/DAGMC/blob/develop/README.rst) or [website documentation](https://github.com/svalinn/DAGMC/tree/develop/doc).
4. Issue a pull request using the pull request template. All pull requests must be accompanied by a news update.

Reporting an Issue
------------------
* If you wish to report a bug, use the bug report template.
* If you wish to suggest an improvement, use the feature request template.
* If you have any other issue, be clear and concise in its description and label it accordingly.

Important Resources
-------------------
* [Pull Request Template](https://github.com/svalinn/DAGMC/blob/develop/PULL_REQUEST_TEMPLATE.md)
* [Bug Report Template](https://github.com/svalinn/DAGMC/blob/develop/.github/ISSUE_TEMPLATE/bug-report.md)
* [Feature Request Template](https://github.com/svalinn/DAGMC/blob/develop/.github/ISSUE_TEMPLATE/feature-request.md)

License
-------
By contributing, you agree that your contributions will be licensed under the
[Simplified BSD License](https://github.com/svalinn/DAGMC/blob/develop/LICENSE.txt).

References
----------
These guidelines were adapted from [here](https://gist.github.com/briandk/3d2e8b3ec8daf5a27a62) and [here](https://github.com/drush-ops/drush/blob/master/CONTRIBUTING.md).
61 changes: 61 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
DAGMC is licensed under the Simplified BSD License. This license applies to all
files in the DAGMC repository except those in the pyne/ and tally/lapack/
directories.

Copyright (c) 2003-2018, the DAGMC development team
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.

THIS SOFTWARE IS PROVIDED BY THE DAGMC DEVELOPMENT TEAM "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 DAGMC DEVELOPMENT TEAM 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.

The views and conclusions contained in the software and documentation are those of the
authors and should not be interpreted as representing official policies, either expressed
or implied, of the stakeholders of the DAGMC project or the employers of DAGMC developers.

--------------------------------------------------------------------------------

The files located in the pyne/ directory are from the PyNE project and are
licensed under the Simplified BSD License.

Copyright 2011-2015, the PyNE Development Team. 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.

THIS SOFTWARE IS PROVIDED BY THE PYNE DEVELOPMENT TEAM ``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 <COPYRIGHT HOLDER> 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.

The views and conclusions contained in the software and documentation are those of the
authors and should not be interpreted as representing official policies, either expressed
or implied, of the stakeholders of the PyNE project or the employers of PyNE developers.
69 changes: 69 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Makefile for Sphinx documentation

# Top-level directory of all the ReST source files
GH_SOURCE_DIR = doc
# Repository branch that contains the source
GH_SOURCE_BRANCH = develop
# Repository branch that contains the rendered HTML
GH_PUBLISH_BRANCH = gh-pages
# Repository that contains the rendered HTML
GH_UPSTREAM_URL = https://github.com/svalinn/DAGMC
# Directory that contains the rendered HTML
BUILDDIR = gh-build
# Sphinx executable
SPHINXBUILD = sphinx-build
# Sphinx options
SPHINXOPTS =

ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) $(GH_SOURCE_DIR)

help:
@echo "Please use \"make <target\" where <target> is one of"
@echo " html to build HTML in directory \"$(BUILDDIR)\" for testing"
@echo " clean to cleanup HTML build in directory \"$(BUILDDIR)\" after testing"
@echo " publish final build and push from \"$(GH_SOURCE_BRANCH)\" branch to \"$(GH_PUBLISH_BRANCH)\" branch"

clean:
-rm -rf $(BUILDDIR)

html:
$(SPHINXBUILD) -nvW -b html $(ALLSPHINXOPTS) $(BUILDDIR)
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)."

check_ready_for_publish:
$(eval CURRENT_BRANCH = $(shell git rev-parse --abbrev-ref --symbolic-full-name @{u}))
@if [ $(CURRENT_BRANCH) != origin/$(GH_SOURCE_BRANCH) ]; then \
echo "On branch \"$(CURRENT_BRANCH)\"; must be on branch \"origin/$(GH_SOURCE_BRANCH)\". Cannot publish."; \
exit 1; \
fi
$(eval CURRENT_URL = $(shell git config --get remote.origin.url))
@if [ $(CURRENT_URL) != $(GH_UPSTREAM_URL) ]; then \
echo "The origin remote points to \"$(CURRENT_URL)\"; must point to \"$(GH_UPSTREAM_URL)\". Cannot publish."; \
exit 1; \
fi
$(eval EXTRA_COMMITS = $(shell git rev-list $(CURRENT_BRANCH)...origin/$(GH_SOURCE_BRANCH)))
@if [ "$(EXTRA_COMMITS)" != "" ]; then \
echo "Current branch \"$(CURRENT_BRANCH)\" is not up-to-date with \"origin/$(GH_SOURCE_BRANCH)\". Cannot publish."; \
exit 1; \
fi
$(eval UNSTAGED_CHANGES = $(shell git status --porcelain))
@if [ "$(UNSTAGED_CHANGES)" != "" ]; then \
echo "There are changes not staged for commit. Cannot publish."; \
exit 1; \
fi

publish: check_ready_for_publish
git checkout $(GH_PUBLISH_BRANCH) && \
git rm -rf * && \
git checkout $(GH_SOURCE_BRANCH) -- $(GH_SOURCE_DIR) Makefile && \
git reset HEAD && \
make clean && \
make html && \
rsync -a $(BUILDDIR)/* . && \
rsync -a $(BUILDDIR)/.* . && \
rm -rf $(GH_SOURCE_DIR) $(BUILDDIR) && \
git add . && \
git commit -m "Generated $(GH_PUBLISH_BRANCH) for `git log $(GH_SOURCE_BRANCH) -1 --pretty=short --abbrev-commit`" && \
git push $(GH_UPSTREAM_URL) $(GH_PUBLISH_BRANCH) && \
git checkout $(GH_SOURCE_BRANCH)
23 changes: 23 additions & 0 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Please follow these guidelines when making a Pull Request.
This template was adapted from [here](https://github.com/stevemao/github-issue-templates/edit/master/questions-answers/PULL_REQUEST_TEMPLATE.md) and [here](https://github.com/stevemao/github-issue-templates/edit/master/conversational/PULL_REQUEST_TEMPLATE.md).

## Description
Describe your changes in detail.

## Motivation and Context
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

## Changes
What kind of change does this PR introduce? (Bug fix, feature, documentation update...)

## Behavior
What is the current behavior? What is the new behavior?

## Other Information
Other relevant information to this pull request.

## News file
All pull requests are required to include an updated news file with the PR.
The file should be located at the `/news/PR-<#>.rst` where `<#>` should be replaced with the appropriate PR number.
Please see [here](https://github.com/svalinn/DAGMC/blob/develop/news/TEMPLATE.rst) for the news file template.
40 changes: 40 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
DAGMC: Direct Accelerated Geometry Monte Carlo
==============================================

.. image:: https://travis-ci.org/svalinn/DAGMC.svg?branch=develop
:target: https://travis-ci.org/svalinn/DAGMC

Direct Accelerated Geometry Monte Carlo (DAGMC) is a software package that
allows users to perform Monte Carlo radiation transport directly on CAD models.

DAGMC has been integrated into a variety of Monte Carlo radiation codes
including MCNP5_, MCNP6_, Geant4_, FLUKA_, Tripoli4_, and Shift_. There are also
efforts planned to integrate DAGMC into other codes such as Serpent2_, OpenMC_,
Phits_, and Frensie.

DAGMC currently relies on using the solid modeling software Cubit_ or its
commercial counterpart, Trelis_, to prepare solid models. These packages can be
used to import CAD models from other tools such as SolidWorks, CATIA, etc., or
to create geometry from scratch. DAGMC also relies on Trelis/Cubit to assign
materials and other geometry-related information.

For more information, please visit the `DAGMC website <DAGMC_>`_.

Quick links:

* `Install guide <http://svalinn.github.io/DAGMC/install/index.html>`_
* `Users guide <http://svalinn.github.io/DAGMC/usersguide/index.html>`_
* `Contributors guide <http://svalinn.github.io/DAGMC/contribute/index.html>`_

.. _DAGMC: http://svalinn.github.io/DAGMC
.. _Cubit: https://cubit.sandia.gov
.. _Trelis: http://www.csimsoft.com/trelis
.. _MCNP5: https://mcnp.lanl.gov
.. _MCNP6: https://mcnp.lanl.gov
.. _Geant4: http://geant4.cern.ch
.. _FLUKA: http://www.fluka.org/fluka.php
.. _Tripoli4: https://rsicc.ornl.gov/codes/ccc/ccc8/ccc-806.html
.. _Shift: http://web.ornl.gov/sci/nsed/rnsd/rt
.. _Serpent2: http://montecarlo.vtt.fi
.. _OpenMC: https://mit-crpg.github.io/openmc
.. _Phits: http://phits.jaea.go.jp
Loading