36 lines
1.3 KiB
C++
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.
|
|
};
|
|
}
|