mimesis-inria / caribou

Multi-physics computation library
GNU Lesser General Public License v3.0
29 stars 17 forks source link

Fix Warnings in HyperelasticMaterial_FEniCS.h #124

Open Ziemnono opened 2 years ago

Ziemnono commented 2 years ago

More than 130 Warnings mainly du to a missing return statement in:

    // Get Young Modulus and Poisson Ratio
    virtual Eigen::Array<Real, 1, 2> getConstants() {};
    // Retrieve FEniCS F tensor 
    virtual auto FEniCS_F() -> ufcx_integral* {}
    // Retrieve FEniCS J tensor
    virtual auto FEniCS_J() -> ufcx_integral* {}
    // Retrieve FEniCS Pi tensor
    virtual auto FEniCS_Pi() -> ufcx_integral* {}

causing

/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Material/HyperelasticMaterial_FEniCS.h:33:48: warning: no return statement in function returning non-void [-Wreturn-type]
   33 |     virtual auto FEniCS_F() -> ufcx_integral* {}
      |                                                ^
/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Material/HyperelasticMaterial_FEniCS.h: In member function ‘virtual ufcx_integral* SofaCaribou::material::HyperelasticMaterial_FEniCS<Element, DataTypes>::FEniCS_J()’:
/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Material/HyperelasticMaterial_FEniCS.h:35:48: warning: no return statement in function returning non-void [-Wreturn-type]
   35 |     virtual auto FEniCS_J() -> ufcx_integral* {}
      |                                                ^
/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Material/HyperelasticMaterial_FEniCS.h: In member function ‘virtual ufcx_integral* SofaCaribou::material::HyperelasticMaterial_FEniCS<Element, DataTypes>::FEniCS_Pi()’:
/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Material/HyperelasticMaterial_FEniCS.h:37:49: warning: no return statement in function returning non-void [-Wreturn-type]
   37 |     virtual auto FEniCS_Pi() -> ufcx_integral* {}
      |                                                 ^
/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Material/HyperelasticMaterial_FEniCS.h: In instantiation of ‘Eigen::Array<typename DataTypes::Coord::value_type, 1, 2> SofaCaribou::material::HyperelasticMaterial_FEniCS<Element, DataTypes>::getConstants() [with Element = caribou::geometry::Tetrahedron; DataTypes = sofa::defaulttype::StdVectorTypes<sofa::type::Vec<3, double>, sofa::type::Vec<3, double>, double>; typename DataTypes::Coord::value_type = double]’:
/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Forcefield/HyperelasticForcefield_FEniCS.inl:366:61:   required from ‘void SofaCaribou::forcefield::HyperelasticForcefield_FEniCS<Element>::assemble_stiffness(const Eigen::MatrixBase<OtherDerived>&, const Eigen::MatrixBase<OtherDerived>&) [with Derived = Eigen::Matrix<double, -1, 3, 1, -1, 3>; Element = caribou::geometry::Tetrahedron]’
/home/arnaud/dev/caribou/src/SofaCaribou/Python/FEniCS/HyperelasticForcefield_FEniCS.h:27:9:   required from ‘void SofaCaribou::forcefield::python::bind_hyperelastic_forcefield_FEniCS(pybind11::module&, const string&) [with Element = caribou::geometry::Tetrahedron; pybind11::module = pybind11::module_; std::string = std::__cxx11::basic_string<char>]’
/home/arnaud/dev/caribou/src/SofaCaribou/Python/FEniCS/HyperelasticForcefield_FEniCS.h:39:49:   required from ‘void SofaCaribou::forcefield::python::bind_hyperelastic_forcefield_FEniCS(pybind11::module&) [with Element = caribou::geometry::Tetrahedron; pybind11::module = pybind11::module_]’
/home/arnaud/dev/caribou/src/SofaCaribou/Python/FEniCS/HyperelasticForcefield_FEniCS.cpp:16:55:   required from here
/home/arnaud/dev/caribou/src/SofaCaribou/../SofaCaribou/FEniCS/Material/HyperelasticMaterial_FEniCS.h:31:54: warning: no return statement in function returning non-void [-Wreturn-type]
   31 |     virtual Eigen::Array<Real, 1, 2> getConstants() {};