summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-06-24Add OpenMP pragmas to independently processable coupling loopsAdrian Kummerlaender
The rudimentary and highly inefficicient OpenMPI "support" of the current grid refinement implementation is not something you want to actually use. Making this performant requires at least: * Refinement-aware load balancing * Load-balancing aware coupler communication (i.e. not dumbly communicating coupling information to processors that process neither the relevant coarse not the fine grid) Until this issue is solved OpenMP delivers acceptable results on shared-memory platforms. e.g. processing 13500 refined grid points in `apps/adrian/cylinder2d/optimized_grid` takes about 1.3 times as long as processing the same cell count in a uniform grid.
2019-06-24Move NamedType template into separate headerAdrian Kummerlaender
2019-06-24Automatically disable refined area in parent geometryAdrian Kummerlaender
2019-06-24Continue cylinder2d refinement setup encapsulationAdrian Kummerlaender
2019-06-24Automatically apply prepareLattice for all gridsAdrian Kummerlaender
2019-06-24Add support for calling a function for each subgrid of Grid2DAdrian Kummerlaender
2019-06-24Add ceil function for our Vector classAdrian Kummerlaender
2019-06-24Allow customization of Grid2D's physical dimensionalizationAdrian Kummerlaender
2019-06-24Report total number of active cells in refinement hierarchyAdrian Kummerlaender
2019-06-24Manage dynamics, boundary condition memory in Grid2DAdrian Kummerlaender
Mainly to further declutter simulation and refinement setup
2019-06-24Note pressure, velocity error norms in refined poiseuille2dAdrian Kummerlaender
2019-06-24Attenuate cylinder2d inflow velocity increaseAdrian Kummerlaender
2019-06-24Verify mass loss when using linear interpolation for C2FAdrian Kummerlaender
2019-06-24Add named types to Grid2D constructorAdrian Kummerlaender
This allows for readable differentiation between constructor overloads.
2019-06-24Fix non-equilibrium scaling factorAdrian Kummerlaender
2019-06-24Interpolate vectors instead of scalarsAdrian Kummerlaender
Same result, nicer code
2019-06-24Use available method to align Coupler2D origin to gridAdrian Kummerlaender
2019-06-24Remove unnecessary managed pointersAdrian Kummerlaender
2019-06-24Improve grid refinement interfaceAdrian Kummerlaender
By deriving RefiningGrid2D from Grid2D to provide methods specific to refining subgrids.
2019-06-24Move distribution scaling factor to Coupler2DAdrian Kummerlaender
Scaling factor is specific to the refinement method implemented by the coupler.
2019-06-24Fix grid alignment of refinement areaAdrian Kummerlaender
2019-06-24Cache lattice positions for grid couplingAdrian Kummerlaender
2019-06-24Add hacky MPI support for grid refinementAdrian Kummerlaender
Works but is nowhere near anything one could consider good. Obvious issues: * More than one cuboid per grid makes it harder to determine the next lattice cell to be coupled * i.e. currently lattice positions are determined ad hoc by resolving their physical position * Coupling is not actually parallelized * All coupling lines are traversed by all processes, way to much communication * Load balancing and cuboid decomposition doesn't care about refinement * ideally refined cuboids should be computationally near their coarse _parent_ cuboids The first two isses should be fixable with a reasonable amount of work. This sadly doesn't apply in any form to the last issue.
2019-06-24Fix, test recursive grid refinementAdrian Kummerlaender
2019-06-24Further indicatorize geometry setupAdrian Kummerlaender
Grid refinement is at its easiest when discrete materials are set using analytical - i.e. resolution independent - indicators.
2019-06-24Move distribution decomposition methods to cellAdrian Kummerlaender
2019-06-24Extract refinement scaffolding into separate unitsAdrian Kummerlaender
2019-06-24Initialize at openlb-1-3Adrian Kummerlaender