Files
MeanField_SERiF/src/include/serif/mapping/compactification/variation.hpp

36 lines
1.3 KiB
C++

#pragma once
/**
* @file variation.hpp
* @author Emily M. Boudreaux
*
* @brief File containing the structures for the variation of the compactification mapping.
*/
#include "mfem/linalg/vector.hpp"
#include "mfem/linalg/densemat.hpp"
namespace serif::mapping::compactification {
/**
* @struct ExteriorMapDirection
*
* @brief Structure representing the direction of the variation in the exterior domain mapping.
* This includes the variation of the displaced position and the variation of the displacement Jacobian.
*/
struct ExteriorMapDirection {
const mfem::Vector &displaced_position_variation; ///< Variation of the position in displaced space.
const mfem::DenseMatrix &displacement_jacobian_variation; ///< Variation of the Jacobian of the displacement mapping.
};
/**
* @struct ExteriorMapVariation
*
* @brief Structure representing the variation of the exterior domain mapping.
* This includes the variation of the physical position and the variation of the mapping Jacobian.
*/
struct ExteriorMapVariation {
mfem::Vector physical_position_variation; ///< Variation of the position in physical space.
mfem::DenseMatrix mapping_jacobian_variation; ///< Variation of the Jacobian of the mapping.
};
}