OpenLB 1.8.1
Loading...
Searching...
No Matches
serialization.h File Reference
+ Include dependency graph for serialization.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  olb::opti::GeometrySerializer< S, dim >
 This class serializes the cells inside the geometry. More...
 
struct  olb::opti::GeometrySerializer< S, dim >::LatticeAndFieldR
 Bundle for lattice coordinates + field component. More...
 
class  olb::opti::SimpleGeometrySerializer< S, dim >
 This class serializes the cells inside the geometry. More...
 
class  olb::opti::SparseGeometrySerializer< S, dim >
 This class serializes the cells which are marked by indicator. More...
 
class  olb::opti::BlockLatticeSerialDataF< T, DESCRIPTOR >
 
class  olb::opti::SuperLatticeSerialDataF< T, DESCRIPTOR >
 A data field whose values are managed by a controller. More...
 

Namespaces

namespace  olb
 Top level namespace for all of OpenLB.
 
namespace  olb::opti
 All optimization code is contained in this namespace.
 

Functions

template<typename S , unsigned dim>
int olb::opti::getMaterialGlobally (SuperGeometry< S, dim > &sGeometry, LatticeR< dim+1 > latticeR)
 Helper that gives global access to material numbers.
 
template<unsigned D, typename T >
bool olb::opti::evaluateSuperIndicatorFglobally (SuperIndicatorF< T, D > &f, const int input[])
 Helper that gives global access to the values of an indicator.
 
template<unsigned D, typename T , typename U = T>
bool olb::opti::evaluateSuperFglobally (SuperF< D, T, U > &f, U *output, const int input[])
 Helper that gives global access to the values of a functor.
 
template<typename FIELD , typename T , typename DESCRIPTOR , typename C = std::vector<T>>
olb::opti::serialDataFromField (SuperLattice< T, DESCRIPTOR > &sLattice, const GeometrySerializer< T, DESCRIPTOR::d > &serializer, SuperIndicatorF< T, DESCRIPTOR::d > &indicator, unsigned controlDim)
 Take values of a field and put them into a long vector Idea: FIELD[cartesianCoordinates] = result[serialIndex] -> we want to get the vector ''result''.
 
template<typename T , template< typename, SolverMode > typename SOLVER, concepts::Field CONTROLLED_FIELD, template< typename... > typename PRIMAL_DYNAMICS, typename C = std::vector<T>>
olb::opti::serialDataFromField (OptiCaseDual< T, SOLVER, CONTROLLED_FIELD, PRIMAL_DYNAMICS, C > &optiCase, std::shared_ptr< SOLVER< T, SolverMode::Reference > > solver)
 Take values of FIELD and put them into a long vector Idea: FIELD[cartesianCoordinates] = result[serialIndex] -> we want to get the vector ''result''.
 
template<typename T , template< typename, SolverMode > typename SOLVER, concepts::Field CONTROLLED_FIELD, template< typename... > typename PRIMAL_DYNAMICS, typename C = std::vector<T>>
olb::opti::getControl (OptiCaseDual< T, SOLVER, CONTROLLED_FIELD, PRIMAL_DYNAMICS, C > &optiCase, std::shared_ptr< SOLVER< T, SolverMode::Reference > > solver)
 Get control values of some simulation in the context of adjoint optimization Take values of FIELD, apply inverse projection and put them into a long vector Idea: FIELD[cartesianCoordinates] = projection(result[serialIndex]) -> we want to get the vector ''result''.