MAJ terminée. Nous sommes passés en version 14.6.2 . Pour consulter les "releases notes" associées c'est ici :

https://about.gitlab.com/releases/2022/01/11/security-release-gitlab-14-6-2-released/
https://about.gitlab.com/releases/2022/01/04/gitlab-14-6-1-released/

main_newton.cpp 2.77 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//
//  main.cpp
//  HappyHeart
//
//  Created by Sebastien Gilles on 07/07/15.
//  Copyright (c) 2015 Inria. All rights reserved.
//

#include "Utilities/Exceptions/PrintAndAbort.hpp"

#include "Core/InitHappyHeart.hpp"

#include "Operators/LocalVariationalOperatorInstances/NonlinearForm/Hyperelasticity/HyperelasticLaws/CiarletGeymonat.hpp"
#include "Operators/LocalVariationalOperatorInstances/NonlinearForm/Hyperelasticity/HyperelasticLaws/StVenantKirchhoff.hpp"

#include "ModelInstances/FSI_EI/Newton/Model.hpp"
#include "ModelInstances/FSI_EI/InputParameterList.hpp"
#include "ModelInstances/FSI_EI/SolidVariationalFormulationPolicy/Hyperelasticity/Policy.hpp"
#include "ModelInstances/FSI_EI/SolidVariationalFormulationPolicy/Elasticity/Policy.hpp"

using namespace HappyHeart;


int main(int argc, char ** argv)
{
    
    using InputParameterList = FSI_EINS::InputParameterList;
    
    try
    {
        InitHappyHeart<InputParameterList> happy_heart(argc, argv);
                
        const auto& input_parameter_data = happy_heart.GetInputParameterList();
        const auto& mpi = happy_heart.GetMpi();
        
       
        //  \todo #608 Remove temporarily any previous output folder.
        {
            namespace IPL = Utilities::InputParameterListNS;
            
            const auto& folder = IPL::Extract<InputParameter::Result::OutputDirectory>::Folder(input_parameter_data);
            
            if (mpi.IsRootProcessor())
            {
                if (Folder::DoExist(folder))
46
                    Folder::Remove(folder, __FILE__, __LINE__);
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
            }
            
            mpi.Barrier();
        }
        
#define HYPERELASTICITY_IN_FSI
        
#ifdef HYPERELASTICITY_IN_FSI
        
        
        using SolidVariationalFormulationPolicy =
            FSI_EINS::Policy::Hyperelasticity
            <
                HyperelasticityNS::LawNS::CiarletGeymonat,
                HyperelasticityNS::TimeScheme::midpoint
            >;
        
#else
        using SolidVariationalFormulationPolicy = FSI_EINS::Policy::Elasticity;
#endif
        
        try
        {
            FSI_EINS::Model<SolidVariationalFormulationPolicy> model(mpi, input_parameter_data);
            
            model.Run(input_parameter_data);
            
            input_parameter_data.PrintUnused(mpi, std::cout);
        }
        catch(const std::exception& e)
        {
            ExceptionNS::PrintAndAbort(mpi, e.what());
        }
        catch(Seldon::Error& e)
        {
            ExceptionNS::PrintAndAbort(mpi, e.What());
        }
    }
    catch(const std::exception& e)
    {
        std::ostringstream oconv;
        oconv << "Exception caught from InitHappyHeart<InputParameterList>: " << e.what() << std::endl;
        
        std::cout << oconv.str();
    }
    
    return 0;
}