summaryrefslogtreecommitdiff
path: root/src/refinement/coupler2D.hh
AgeCommit message (Collapse)Author
2019-06-24Move refinement to contribAdrian Kummerlaender
2019-06-24Adapt refinement to meta-descriptorAdrian Kummerlaender
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-24Continue cylinder2d refinement setup encapsulationAdrian Kummerlaender
2019-06-24Attenuate cylinder2d inflow velocity increaseAdrian Kummerlaender
2019-06-24Verify mass loss when using linear interpolation for C2FAdrian Kummerlaender
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-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-24Move distribution decomposition methods to cellAdrian Kummerlaender
2019-06-24Extract refinement scaffolding into separate unitsAdrian Kummerlaender