36 typedef memory::shared_ptr< gsPreCICEFunction >
Ptr;
39 typedef memory::unique_ptr< gsPreCICEFunction >
uPtr;
57 const bool parametric =
false)
59 m_interface(interface),
63 m_parametric(parametric),
70 static uPtr make(
const gsPreCICE<T> * interface,
74 const bool parametric =
false)
87 {
return m_domainDim; }
96 GISMO_ASSERT(u.rows() == m_domainDim,
"Wrong domain dimension "<< u.rows()
97 <<
", expected "<< m_domainDim);
105 gsMatrix<T> coords(m_patches.targetDim(),u.cols());
107 m_patches.patch(m_patchID).eval_into(u,coords);
111 m_interface->readBlockScalarData(m_meshID,m_dataID,coords,result);
135 result.push_back(tmp);
139 virtual std::ostream &
print(std::ostream &os)
const
141 os <<
"gsPreCICEFunction, defined using gsPreCICE (precice::SolverInterface):\n";
149 gsPreCICE<T> * m_interface;
Abstract base class representing a geometry map.
Definition: gsGeometry.h:92
virtual short_t targetDim() const
Gives the targetDomain, currently only scalar functions (todo)
Definition: gsPreCICEFunction.h:90
#define GISMO_NO_IMPLEMENTATION
Definition: gsDebug.h:129
virtual void eval_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
See gsFunction.
Definition: gsPreCICEFunction.h:94
#define short_t
Definition: gsConfig.h:35
memory::unique_ptr< gsPreCICEFunction > uPtr
Unique pointer for gsPreCICEFunction.
Definition: gsPreCICEFunction.h:39
Provides declaration of Geometry abstract interface.
#define index_t
Definition: gsConfig.h:32
A function from a n-dimensional domain to an m-dimensional image.
Definition: gsFunction.h:59
virtual std::ostream & print(std::ostream &os) const
See gsFunction.
Definition: gsPreCICEFunction.h:139
memory::unique_ptr< gsFunction > uPtr
Unique pointer for gsFunction.
Definition: gsFunction.h:68
Provides combinatorial unitilies.
#define GISMO_ASSERT(cond, message)
Definition: gsDebug.h:89
virtual short_t domainDim() const
See gsFunction.
Definition: gsPreCICEFunction.h:86
Header file for using gsPreCICE extension.
static uPtr make(const gsPreCICE< T > *interface, const index_t &meshID, const index_t &dataID, const gsMultiPatch< T > &patches, const bool parametric=false)
Constructs a function pointer.
Definition: gsPreCICEFunction.h:70
Interface for the set of functions defined on a domain (the total number of functions in the set equa...
Definition: gsFuncData.h:23
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition: gsMultiPatch.h:33
const gsPreCICEFunction< T > & piece(const index_t) const
Access a piece.
Definition: gsPreCICEFunction.h:80
memory::shared_ptr< gsPreCICEFunction > Ptr
Shared pointer for gsPreCICEFunction.
Definition: gsPreCICEFunction.h:36
gsPreCICEFunction()
Default constructor.
Definition: gsPreCICEFunction.h:42
void evalAllDers_into(const gsMatrix< T > &u, int n, std::vector< gsMatrix< T > > &result) const
See gsFunction.
Definition: gsPreCICEFunction.h:129
This is the main header file that collects wrappers of Eigen for linear algebra.
virtual void deriv_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
See gsFunction.
Definition: gsPreCICEFunction.h:115
virtual void deriv2_into(const gsMatrix< T > &u, gsMatrix< T > &result) const
See gsFunction.
Definition: gsPreCICEFunction.h:122
gsPreCICEFunction(gsPreCICE< T > *interface, const index_t &meshID, const index_t &dataID, const gsMultiPatch< T > &patches, const bool parametric=false)
Constructs a new instance of the gsPreCICEFunction.
Definition: gsPreCICEFunction.h:53
Class defining a gsFunction that reads from the precice::SolverInterface.
Definition: gsPreCICEFunction.h:30