Skip to content

Commit

Permalink
Modify ChFsiProblem mechanism for specifying boundaries for which BCE…
Browse files Browse the repository at this point in the history
… markers should be generated.

- define enums for identifying sides of a box or cylinder volume.
- use flags (in boolean combinations, as needed) to indicate container sides for which BCE boundary markers will be generated.
  • Loading branch information
rserban committed Nov 10, 2024
1 parent 9ca4027 commit 2a2380f
Show file tree
Hide file tree
Showing 13 changed files with 189 additions and 220 deletions.
24 changes: 24 additions & 0 deletions src/chrono_fsi/sph/ChFsiDefinitionsSPH.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,30 @@ enum class FrictionLaw { CONSTANT, LINEAR, NONLINEAR };
/// Linear solver type.
enum class SolverType { JACOBI, BICGSTAB, GMRES, CR, CG, SAP };

// -----------------------------------------------------------------------------

/// Enumeration for box sides.
/// These flags are used to identify sides of a box container and can be combined using unary boolean operations.
namespace BoxSide {
enum Enum {
NONE = 0x0000,
X_POS = 1 << 0,
X_NEG = 1 << 1,
Y_POS = 1 << 2,
Y_NEG = 1 << 3,
Z_POS = 1 << 4,
Z_NEG = 1 << 5,
ALL = 0xFFFF
};
}

/// Enumeration for cylinder sides.
/// These flags are used to identify sides of a cylindrical container and can be combined using unary boolean
/// operations.
namespace CylSide {
enum Enum { NONE = 0x0000, SIDE_INT = 1 << 0, SIDE_EXT = 1 << 1, Z_NEG = 1 << 2, Z_POS = 1 << 3, ALL = 0xFFFF };
}

/// BCE pattern in cross section of 1-D flexible elements.
/// The available patterns are illustrated below (assuming 3 BCE layers):
/// <pre>
Expand Down
Loading

0 comments on commit 2a2380f

Please sign in to comment.