IgANet
IgANets - Isogeometric Analysis Networks
Loading...
Searching...
No Matches
iganet::webapp::GismoPoissonModel< d, T > Class Template Reference

G+Smo Poisson model. More...

#include </home/runner/work/iganet/iganet/webapps/models/gismo/GismoPoissonModel.hpp>

Inheritance diagram for iganet::webapp::GismoPoissonModel< d, T >:
iganet::webapp::GismoPdeModel< d, T > iganet::webapp::GismoGeometryModel< d, T > iganet::ModelXML iganet::ModelRemovePatch iganet::ModelReparameterize iganet::ModelRefine iganet::ModelIncrease iganet::ModelEval iganet::ModelElevate iganet::ModelAddPatch iganet::webapp::GismoModel< T >

Public Member Functions

 GismoPoissonModel ()=delete
 Default constructor.
 
 GismoPoissonModel (const std::array< short_t, d > degrees, const std::array< int64_t, d > ncoeffs, const std::array< int64_t, d > npatches, const std::array< T, d > dimensions)
 Constructor for equidistant knot vectors.
 
 ~GismoPoissonModel ()
 Destructor.
 
void addPatch (const nlohmann::json &json=NULL) override
 Add new patch to the model.
 
void elevate (const nlohmann::json &json=NULL) override
 Elevates the model's degrees, preserves smoothness.
 
nlohmann::json eval (const std::string &patch, const std::string &component, const nlohmann::json &json) const override
 Evaluates the model.
 
std::string getDescription () const override
 Returns the model's description.
 
std::string getName () const override
 Returns the model's name.
 
nlohmann::json getOutputs () const override
 Returns the model's outputs.
 
nlohmann::json getParameters () const override
 Returns the model's parameters.
 
void increase (const nlohmann::json &json=NULL) override
 Increases the model's degrees, preserves multiplicity.
 
void refine (const nlohmann::json &json=NULL) override
 Refines the model.
 
void removePatch (const std::string &patch, const nlohmann::json &json=NULL) override
 Remove existing patch from the model.
 
nlohmann::json updateAttribute (const std::string &patch, const std::string &component, const std::string &attribute, const nlohmann::json &json) override
 Updates the attributes of the model.
 
- Public Member Functions inherited from iganet::webapp::GismoPdeModel< d, T >
nlohmann::json to_json (const std::string &patch, const std::string &component, const std::string &attribute) const override
 Serializes the model to JSON.
 
- Public Member Functions inherited from iganet::webapp::GismoGeometryModel< d, T >
 GismoGeometryModel ()=default
 Default constructor.
 
 GismoGeometryModel (const pugi::xml_node root)
 Constructor from XML.
 
 GismoGeometryModel (const std::array< short_t, d > degrees, const std::array< int64_t, d > ncoeffs, const std::array< int64_t, d > npatches, const std::array< T, d > dimensions)
 Constructor for equidistant knot vectors.
 
gismo::internal::gsXmlTree & exportXML (const std::string &patch, const std::string &component, gismo::internal::gsXmlTree &xml, int id)
 Exports the model to XML (as XML object) optimized for G+Smo.
 
nlohmann::json exportXML (const std::string &patch, const std::string &component, int id) override
 Exports the model to XML (as JSON object)
 
pugi::xml_node & exportXML (const std::string &patch, const std::string &component, pugi::xml_node &xml, int id) override
 Exports the model to XML (as XML object)
 
nlohmann::json getInputs () const override
 Returns the model's inputs.
 
nlohmann::json getOptions () const override
 Returns the model's options.
 
void importXML (const std::string &patch, const std::string &component, const gismo::internal::gsXmlTree &xml, int id)
 Imports the model from XML (as XML object) optimized for G+Smo.
 
void importXML (const std::string &patch, const std::string &component, const nlohmann::json &json, int id) override
 Imports the model from XML (as JSON object)
 
void importXML (const std::string &patch, const std::string &component, const pugi::xml_node &xml, int id) override
 Imports the model from XML (as XML object)
 
void reparameterize (const std::string &patch, const nlohmann::json &json=NULL) override
 Reparameterize the model.
 
- Public Member Functions inherited from iganet::webapp::GismoModel< T >
 GismoModel ()
 Default constructor.
 
 ~GismoModel ()
 Destructor.
 
- Public Member Functions inherited from iganet::Model< T >
 Model ()
 Constructor.
 
virtual ~Model ()
 Destructor.
 
virtual nlohmann::json getCapabilities () const
 Returns the model's capabilities.
 
virtual nlohmann::json getModel () const
 Returns the model's JSON serialization.
 
- Public Member Functions inherited from iganet::ModelAddPatch
std::vector< std::string > getCapabilities () const
 
- Public Member Functions inherited from iganet::ModelElevate
std::vector< std::string > getCapabilities () const
 
- Public Member Functions inherited from iganet::ModelEval
std::vector< std::string > getCapabilities () const
 
- Public Member Functions inherited from iganet::ModelIncrease
std::vector< std::string > getCapabilities () const
 
- Public Member Functions inherited from iganet::ModelRefine
std::vector< std::string > getCapabilities () const
 
- Public Member Functions inherited from iganet::ModelReparameterize
std::vector< std::string > getCapabilities () const
 
- Public Member Functions inherited from iganet::ModelRemovePatch
std::vector< std::string > getCapabilities () const
 
- Public Member Functions inherited from iganet::ModelXML
std::vector< std::string > getCapabilities () const
 

Private Types

using Base = GismoPdeModel< d, T >
 Base class.
 
using geometryMap_type = typename gismo::gsExprAssembler< T >::geometryMap
 Type of the geometry mapping.
 
using solution_type = typename gismo::gsExprAssembler< T >::solution
 Type of the solution.
 
using space_type = typename gismo::gsExprAssembler< T >::space
 Type of the function space.
 
using variable_type = typename gismo::gsExprAssembler< T >::variable
 Type of the variable.
 

Private Member Functions

void solve ()
 Solve the Poisson problem.
 

Private Attributes

gismo::gsExprAssembler< T > assembler_
 Expression assembler.
 
gismo::gsMultiBasis< T > basis_
 Multi-patch basis.
 
gismo::gsBoundaryConditions< T > bc_
 Boundary conditions.
 
GismoBoundaryConditionMap< T > bcMap_
 Boundary condition look-up table.
 
gismo::gsFunctionExpr< T > rhsFunc_
 Right-hand side function.
 
bool rhsFuncParametric_
 Right-hand side function defined on parametric domain (default false)
 

Additional Inherited Members

- Protected Attributes inherited from iganet::webapp::GismoPdeModel< d, T >
gismo::gsMultiPatch< T > solution_
 Solution.
 
- Protected Attributes inherited from iganet::webapp::GismoGeometryModel< d, T >
gismo::gsMultiPatch< T > geo_
 Multi-patch geometry.
 

Detailed Description

template<short_t d, typename T>
class iganet::webapp::GismoPoissonModel< d, T >

G+Smo Poisson model.

Member Typedef Documentation

◆ Base

template<short_t d, typename T >
using iganet::webapp::GismoPoissonModel< d, T >::Base = GismoPdeModel<d, T>
private

Base class.

◆ geometryMap_type

template<short_t d, typename T >
using iganet::webapp::GismoPoissonModel< d, T >::geometryMap_type = typename gismo::gsExprAssembler<T>::geometryMap
private

Type of the geometry mapping.

◆ solution_type

template<short_t d, typename T >
using iganet::webapp::GismoPoissonModel< d, T >::solution_type = typename gismo::gsExprAssembler<T>::solution
private

Type of the solution.

◆ space_type

template<short_t d, typename T >
using iganet::webapp::GismoPoissonModel< d, T >::space_type = typename gismo::gsExprAssembler<T>::space
private

Type of the function space.

◆ variable_type

template<short_t d, typename T >
using iganet::webapp::GismoPoissonModel< d, T >::variable_type = typename gismo::gsExprAssembler<T>::variable
private

Type of the variable.

Constructor & Destructor Documentation

◆ GismoPoissonModel() [1/2]

template<short_t d, typename T >
iganet::webapp::GismoPoissonModel< d, T >::GismoPoissonModel ( )
delete

Default constructor.

◆ GismoPoissonModel() [2/2]

template<short_t d, typename T >
iganet::webapp::GismoPoissonModel< d, T >::GismoPoissonModel ( const std::array< short_t, d degrees,
const std::array< int64_t, d ncoeffs,
const std::array< int64_t, d npatches,
const std::array< T, d dimensions 
)
inline

Constructor for equidistant knot vectors.

◆ ~GismoPoissonModel()

Destructor.

Member Function Documentation

◆ addPatch()

template<short_t d, typename T >
void iganet::webapp::GismoPoissonModel< d, T >::addPatch ( const nlohmann::json &  json = NULL)
inlineoverridevirtual

Add new patch to the model.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

◆ elevate()

template<short_t d, typename T >
void iganet::webapp::GismoPoissonModel< d, T >::elevate ( const nlohmann::json &  json = NULL)
inlineoverridevirtual

Elevates the model's degrees, preserves smoothness.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

◆ eval()

template<short_t d, typename T >
nlohmann::json iganet::webapp::GismoPoissonModel< d, T >::eval ( const std::string &  patch,
const std::string &  component,
const nlohmann::json &  json 
) const
inlineoverridevirtual

Evaluates the model.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

◆ getDescription()

template<short_t d, typename T >
std::string iganet::webapp::GismoPoissonModel< d, T >::getDescription ( ) const
inlineoverridevirtual

Returns the model's description.

Implements iganet::Model< T >.

◆ getName()

template<short_t d, typename T >
std::string iganet::webapp::GismoPoissonModel< d, T >::getName ( ) const
inlineoverridevirtual

Returns the model's name.

Implements iganet::Model< T >.

◆ getOutputs()

template<short_t d, typename T >
nlohmann::json iganet::webapp::GismoPoissonModel< d, T >::getOutputs ( ) const
inlineoverridevirtual

Returns the model's outputs.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

◆ getParameters()

template<short_t d, typename T >
nlohmann::json iganet::webapp::GismoPoissonModel< d, T >::getParameters ( ) const
inlineoverridevirtual

Returns the model's parameters.

Implements iganet::Model< T >.

◆ increase()

template<short_t d, typename T >
void iganet::webapp::GismoPoissonModel< d, T >::increase ( const nlohmann::json &  json = NULL)
inlineoverridevirtual

Increases the model's degrees, preserves multiplicity.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

◆ refine()

template<short_t d, typename T >
void iganet::webapp::GismoPoissonModel< d, T >::refine ( const nlohmann::json &  json = NULL)
inlineoverridevirtual

Refines the model.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

◆ removePatch()

template<short_t d, typename T >
void iganet::webapp::GismoPoissonModel< d, T >::removePatch ( const std::string &  patch,
const nlohmann::json &  json = NULL 
)
inlineoverridevirtual

Remove existing patch from the model.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

◆ solve()

template<short_t d, typename T >
void iganet::webapp::GismoPoissonModel< d, T >::solve ( )
inlineprivate

Solve the Poisson problem.

◆ updateAttribute()

template<short_t d, typename T >
nlohmann::json iganet::webapp::GismoPoissonModel< d, T >::updateAttribute ( const std::string &  patch,
const std::string &  component,
const std::string &  attribute,
const nlohmann::json &  json 
)
inlineoverridevirtual

Updates the attributes of the model.

Reimplemented from iganet::webapp::GismoGeometryModel< d, T >.

Member Data Documentation

◆ assembler_

template<short_t d, typename T >
gismo::gsExprAssembler<T> iganet::webapp::GismoPoissonModel< d, T >::assembler_
private

Expression assembler.

◆ basis_

template<short_t d, typename T >
gismo::gsMultiBasis<T> iganet::webapp::GismoPoissonModel< d, T >::basis_
private

Multi-patch basis.

◆ bc_

template<short_t d, typename T >
gismo::gsBoundaryConditions<T> iganet::webapp::GismoPoissonModel< d, T >::bc_
private

Boundary conditions.

◆ bcMap_

Boundary condition look-up table.

◆ rhsFunc_

template<short_t d, typename T >
gismo::gsFunctionExpr<T> iganet::webapp::GismoPoissonModel< d, T >::rhsFunc_
private

Right-hand side function.

◆ rhsFuncParametric_

template<short_t d, typename T >
bool iganet::webapp::GismoPoissonModel< d, T >::rhsFuncParametric_
private

Right-hand side function defined on parametric domain (default false)


The documentation for this class was generated from the following file: