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

G+Smo geometry model. More...

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

Inheritance diagram for 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 > iganet::webapp::GismoPdeModel< d, T > iganet::webapp::GismoKLShellModel< d, T > iganet::webapp::GismoLinearElasticityModel< d, T > iganet::webapp::GismoPoissonModel< d, T >

Public Member Functions

 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.
 
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.
 
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.
 
nlohmann::json getOutputs () const override
 Returns the model's outputs.
 
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 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.
 
void reparameterize (const std::string &patch, const nlohmann::json &json=NULL) override
 Reparameterize the model.
 
nlohmann::json to_json (const std::string &patch, const std::string &component, const std::string &attribute) const override
 Serializes the model to JSON.
 
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::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 std::string getDescription () const =0
 Returns the model's description.
 
virtual nlohmann::json getModel () const
 Returns the model's JSON serialization.
 
virtual std::string getName () const =0
 Returns the model's name.
 
virtual nlohmann::json getParameters () const =0
 Return's the model's parameters.
 
- 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
 

Protected Attributes

gismo::gsMultiPatch< T > geo_
 Multi-patch geometry.
 

Detailed Description

template<short_t d, class T>
class iganet::webapp::GismoGeometryModel< d, T >

G+Smo geometry model.

Constructor & Destructor Documentation

◆ GismoGeometryModel() [1/3]

template<short_t d, class T >
iganet::webapp::GismoGeometryModel< d, T >::GismoGeometryModel ( )
default

Default constructor.

◆ GismoGeometryModel() [2/3]

template<short_t d, class T >
iganet::webapp::GismoGeometryModel< d, T >::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 
)
inline

Constructor for equidistant knot vectors.

◆ GismoGeometryModel() [3/3]

template<short_t d, class T >
iganet::webapp::GismoGeometryModel< d, T >::GismoGeometryModel ( const pugi::xml_node  root)
inline

Constructor from XML.

Member Function Documentation

◆ addPatch()

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

◆ elevate()

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

Elevates the model's degrees, preserves smoothness.

Implements iganet::ModelElevate.

Reimplemented in iganet::webapp::GismoLinearElasticityModel< d, T >, and iganet::webapp::GismoPoissonModel< d, T >.

◆ eval()

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

◆ exportXML() [1/3]

template<short_t d, class T >
gismo::internal::gsXmlTree & iganet::webapp::GismoGeometryModel< d, T >::exportXML ( const std::string &  patch,
const std::string &  component,
gismo::internal::gsXmlTree &  xml,
int  id 
)
inline

Exports the model to XML (as XML object) optimized for G+Smo.

◆ exportXML() [2/3]

template<short_t d, class T >
nlohmann::json iganet::webapp::GismoGeometryModel< d, T >::exportXML ( const std::string &  patch,
const std::string &  component,
int  id 
)
inlineoverridevirtual

Exports the model to XML (as JSON object)

Implements iganet::ModelXML.

◆ exportXML() [3/3]

template<short_t d, class T >
pugi::xml_node & iganet::webapp::GismoGeometryModel< d, T >::exportXML ( const std::string &  patch,
const std::string &  component,
pugi::xml_node &  xml,
int  id 
)
inlineoverridevirtual

Exports the model to XML (as XML object)

Implements iganet::ModelXML.

◆ getInputs()

template<short_t d, class T >
nlohmann::json iganet::webapp::GismoGeometryModel< d, T >::getInputs ( ) const
inlineoverridevirtual

Returns the model's inputs.

Implements iganet::Model< T >.

◆ getOptions()

template<short_t d, class T >
nlohmann::json iganet::webapp::GismoGeometryModel< d, T >::getOptions ( ) const
inlineoverridevirtual

Returns the model's options.

Implements iganet::Model< T >.

Reimplemented in iganet::webapp::GismoLinearElasticityModel< d, T >.

◆ getOutputs()

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

◆ importXML() [1/3]

template<short_t d, class T >
void iganet::webapp::GismoGeometryModel< d, T >::importXML ( const std::string &  patch,
const std::string &  component,
const gismo::internal::gsXmlTree &  xml,
int  id 
)
inline

Imports the model from XML (as XML object) optimized for G+Smo.

◆ importXML() [2/3]

template<short_t d, class T >
void iganet::webapp::GismoGeometryModel< d, T >::importXML ( const std::string &  patch,
const std::string &  component,
const nlohmann::json &  json,
int  id 
)
inlineoverridevirtual

Imports the model from XML (as JSON object)

Implements iganet::ModelXML.

◆ importXML() [3/3]

template<short_t d, class T >
void iganet::webapp::GismoGeometryModel< d, T >::importXML ( const std::string &  patch,
const std::string &  component,
const pugi::xml_node &  xml,
int  id 
)
inlineoverridevirtual

Imports the model from XML (as XML object)

Implements iganet::ModelXML.

◆ increase()

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

Increases the model's degrees, preserves multiplicity.

Implements iganet::ModelIncrease.

Reimplemented in iganet::webapp::GismoLinearElasticityModel< d, T >, and iganet::webapp::GismoPoissonModel< d, T >.

◆ refine()

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

◆ removePatch()

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

Remove existing patch from the model.

Implements iganet::ModelRemovePatch.

Reimplemented in iganet::webapp::GismoLinearElasticityModel< d, T >, and iganet::webapp::GismoPoissonModel< d, T >.

◆ reparameterize()

template<short_t d, class T >
void iganet::webapp::GismoGeometryModel< d, T >::reparameterize ( const std::string &  patch,
const nlohmann::json &  json = NULL 
)
inlineoverridevirtual

Reparameterize the model.

Implements iganet::ModelReparameterize.

◆ to_json()

template<short_t d, class T >
nlohmann::json iganet::webapp::GismoGeometryModel< d, T >::to_json ( const std::string &  patch,
const std::string &  component,
const std::string &  attribute 
) const
inlineoverridevirtual

Serializes the model to JSON.

Reimplemented from iganet::webapp::GismoModel< T >.

Reimplemented in iganet::webapp::GismoPdeModel< d, T >.

◆ updateAttribute()

template<short_t d, class T >
nlohmann::json iganet::webapp::GismoGeometryModel< 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::GismoModel< T >.

Reimplemented in iganet::webapp::GismoLinearElasticityModel< d, T >, and iganet::webapp::GismoPoissonModel< d, T >.

Member Data Documentation

◆ geo_

template<short_t d, class T >
gismo::gsMultiPatch<T> iganet::webapp::GismoGeometryModel< d, T >::geo_
protected

Multi-patch geometry.


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