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

G+Smo Linear elasticity model. More...

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

Inheritance diagram for iganet::webapp::GismoLinearElasticityModel< 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

 GismoLinearElasticityModel ()=delete
 Default constructor.
 
 GismoLinearElasticityModel (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.
 
 ~GismoLinearElasticityModel ()
 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 getOptions () const override
 Returns the model's options.
 
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.
 
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.
 

Private Member Functions

void solve ()
 Solve the Linear elasticity problem.
 

Private Attributes

gismo::gsMultiBasis< T > basis_
 Multi-patch basis.
 
gismo::gsBoundaryConditions< T > bc_
 Boundary conditions.
 
std::array< gismo::gsFunctionExpr< T >, 2 *dbcFunc_
 Boundary condition values.
 
std::array< gismo::condition_type::type, 2 *dbcType_
 Boundary condition type.
 
gismo::gsFunctionExpr< T > loadFunc_
 
PoissonsRatio_
 Poisson's ratio.
 
gismo::gsFunctionExpr< T > rhsFunc_
 Right-hand side function.
 
YoungsModulus_
 Young's modulus.
 

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::GismoLinearElasticityModel< d, T >

G+Smo Linear elasticity model.

Member Typedef Documentation

◆ Base

Base class.

Constructor & Destructor Documentation

◆ GismoLinearElasticityModel() [1/2]

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

Default constructor.

◆ GismoLinearElasticityModel() [2/2]

template<short_t d, typename T >
iganet::webapp::GismoLinearElasticityModel< d, T >::GismoLinearElasticityModel ( 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.

◆ ~GismoLinearElasticityModel()

Member Function Documentation

◆ addPatch()

template<short_t d, typename T >
void iganet::webapp::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< d, T >::getName ( ) const
inlineoverridevirtual

Returns the model's name.

Implements iganet::Model< T >.

◆ getOptions()

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

Returns the model's options.

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

◆ getOutputs()

template<short_t d, typename T >
nlohmann::json iganet::webapp::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< d, T >::getParameters ( ) const
inlineoverridevirtual

Returns the model's parameters.

Implements iganet::Model< T >.

◆ increase()

template<short_t d, typename T >
void iganet::webapp::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< 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::GismoLinearElasticityModel< d, T >::solve ( )
inlineprivate

Solve the Linear elasticity problem.

◆ updateAttribute()

template<short_t d, typename T >
nlohmann::json iganet::webapp::GismoLinearElasticityModel< 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

◆ basis_

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

Multi-patch basis.

◆ bc_

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

Boundary conditions.

◆ bcFunc_

template<short_t d, typename T >
std::array<gismo::gsFunctionExpr<T>, 2 * d> iganet::webapp::GismoLinearElasticityModel< d, T >::bcFunc_
private

Boundary condition values.

◆ bcType_

template<short_t d, typename T >
std::array<gismo::condition_type::type, 2 * d> iganet::webapp::GismoLinearElasticityModel< d, T >::bcType_
private

Boundary condition type.

◆ loadFunc_

template<short_t d, typename T >
gismo::gsFunctionExpr<T> iganet::webapp::GismoLinearElasticityModel< d, T >::loadFunc_
private

◆ PoissonsRatio_

template<short_t d, typename T >
T iganet::webapp::GismoLinearElasticityModel< d, T >::PoissonsRatio_
private

Poisson's ratio.

◆ rhsFunc_

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

Right-hand side function.

◆ YoungsModulus_

template<short_t d, typename T >
T iganet::webapp::GismoLinearElasticityModel< d, T >::YoungsModulus_
private

Young's modulus.


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