Skip to content

Commit

Permalink
Use ViennaCore and refactor with namespace (#85)
Browse files Browse the repository at this point in the history
* Add constraints for process model interface classes

* Small enhacment in psDomain and add missing psProcess Python bindings for random seeds

* Add psProcess random seed stubs

* Minor enhancments

* Refactor psMakeFin

* Refactor geometry builders

* Refactor prebuilt models

* fix(cmake): C support not needed on macos

* fix: format

* feat: add `VIENNAPS_PACKAGE_PYTHON`

* Add atomic layer process class

* GDS reader test, Planarize, Translation field enhancements

* Move cell-based ALP to cellSet

* Refactor psDomain

* Refactor GDS reader and geometry

* Add nodisard qualifier in util functions

* Start implementation of purge pulse in ALP

* Update coverage from purge flux

* Remove mean free path from ALP interface

* Start implement IBE model

* Implement IBE model

* Decouple cell set from psDomain, psVTKWriter and psSmartPointer

* Implement custom source

* Decouple cell set from psMaterial (BROKEN Example oxideRegrowth)

* Add missing coverMaterial default in cell set (Example oxideRegrowth works again)

* Use smart pointer source

* Adjust csTracing for shared source

* Replace psLogger with csLogger in cell set

* Ignore boundary conditions when creating basic geometries

* Implement faraday source for single particle process

* New process time and timing output

* Rotate faraday cage

* Remove example

* Add namespace in geometry functions and domain

* refactor GDS reader with namespace

* refactor test for isotropic process

* Refactor test directional etching

* refactor process models with namespace

* refactor examples

* Move cell set to ViennaCS library

* Move cell set to ViennaCS library - CMake changes

* Use ViennaCore in models and examples

* Remove logger test

* fix some examples

* refactor: use viennacore

* refactor: update containers

* fix: inconsistencies

* refactor(ci/macos): install additional dependencies

* fix(ci): macos check

* fix(python): add vtk env

* refactor(ci): install vtk on macos

* fix(ci): embree does not support 32bit

* fix(python): only add valid paths

* refactor(cmake): always create env

* Remove domain level sets pointer

* Fix Python build

* remove core wrapper

* Local ProcessModel binding

* Update version and add point data warnings

* Fix application

* Update readme

* Fix compact modeling examples

* Update ViennaLS version

* Fix IBE model

* Add single particle ALD example

* update stubs

* format

* Run workflows only on master PR

---------

Co-authored-by: Curve <fynnbwdt@gmail.com>
Co-authored-by: Felix S <rexilief787@gmail.com>
  • Loading branch information
3 people authored Jun 18, 2024
1 parent 487b39d commit 7c5e88a
Show file tree
Hide file tree
Showing 155 changed files with 5,930 additions and 9,334 deletions.
236 changes: 236 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: true
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveShortCaseStatements:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCaseColons: false
AlignEscapedNewlines: Right
AlignOperands: Align
AlignTrailingComments:
Kind: Always
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros:
- __capability
BinPackArguments: true
BinPackParameters: true
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakAfterAttributes: Never
BreakAfterJavaFieldAnnotations: false
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Attach
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: "^ IWYU pragma:"
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: ".*"
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: "(Test)?$"
IncludeIsMainSourceRegex: ""
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: false
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentRequiresClause: true
IndentWidth: 2
IndentWrappedFunctionNames: false
InsertBraces: false
InsertNewlineAtEOF: false
InsertTrailingCommas: None
IntegerLiteralSeparator:
Binary: 0
BinaryMinDigits: 0
Decimal: 0
DecimalMinDigits: 0
Hex: 0
HexMinDigits: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
KeepEmptyLinesAtEOF: false
LambdaBodyIndentation: Signature
LineEnding: DeriveLF
MacroBlockBegin: ""
MacroBlockEnd: ""
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
PPIndentWidth: -1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: true
RemoveBracesLLVM: false
RemoveParentheses: Leave
RemoveSemicolon: false
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SortIncludes: CaseSensitive
SortJavaStaticImport: Before
SortUsingDeclarations: LexicographicNumeric
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeJsonColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
AfterFunctionDefinitionName: false
AfterFunctionDeclarationName: false
AfterIfMacros: true
AfterOverloadedOperator: false
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInContainerLiterals: true
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParens: Never
SpacesInParensOptions:
InCStyleCasts: false
InConditionalStatements: false
InEmptyParentheses: false
Other: false
SpacesInSquareBrackets: false
Standard: Latest
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseTab: Never
VerilogBreakBetweenInstancePorts: true
WhitespaceSensitiveMacros:
- BOOST_PP_STRINGIZE
- CF_SWIFT_NAME
- NS_SWIFT_NAME
- PP_STRINGIZE
- STRINGIZE
---

6 changes: 0 additions & 6 deletions .cmake-format

This file was deleted.

24 changes: 7 additions & 17 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,25 @@ name: 🏗️ Setup Environment
description: Install Dependencies & Deploy Workarounds

inputs:
container:
os:
required: true
description: Build container used

install-vtk:
required: true
description: Wether or not to install VTK as a system dependency
description: Operating System used

runs:
using: "composite"

steps:
- name: 🩹 Enable Long Paths
shell: bash
if: ${{ inputs.container == 'windows-latest' }}
if: ${{ inputs.os == 'windows-latest' }}
run: git config --system core.longpaths true

- name: 📋 Install Dependencies
shell: bash
if: ${{ inputs.container == 'ubuntu-latest' }}
run: dnf install -y make automake gcc gcc-c++ kernel-devel cmake git python3 python3-pip python3-devel
- name: 🖥️ Enable MSVC Dev Console
uses: ilammy/msvc-dev-cmd@v1

- name: 📋 Install OpenMP
shell: bash
if: ${{ inputs.container == 'macos-latest' }}
if: ${{ inputs.os == 'macos-latest' }}
run: |
brew reinstall --build-from-source --formula ./.github/homebrew/libomp.rb
- name: 📋 Install VTK
shell: bash
if: ${{ inputs.install-vtk == 'true' }}
run: dnf install -y vtk vtk-devel
echo "OpenMP_ROOT=$(brew --prefix)/opt/libomp" >> $GITHUB_ENV
Loading

0 comments on commit 7c5e88a

Please sign in to comment.