Hi,
I wanted to be sure that my last email answer did not cause any
misunderstanding.
I still have the same problem with the function
'add_normal_Dirichlet_boundary_condition_with_penalization'.
I report here again the extract of my code:
//--------------------------------------------------------------------------------------------------------------------------------------------------//
// Main unknown of the problem:
model.add_fem_variable("u", mf_u);
// Viscous term
// Linearized elasticity brick:
model.add_initialized_fixed_size_data("lambda", plain_vector(1, 0.0));
// Second viscosity coefficient
model.add_initialized_fixed_size_data("nu", plain_vector(1, 1/(pd.Re)));
getfem::add_isotropic_linearized_elasticity_brick(model, mim, "u",
"lambda", "nu");
// Incompressible constraint
// p used as Lagrange multiplier, but it doesn't need to be
// add_multiplier as for the Dirichlet boundary conditions
// Linearized incompressibility condition brick:
model.add_fem_variable("p", mf_p);
getfem::add_linear_incompressibility(model, mim, "u", "p");
// Dirichlet condition on inflow:
std::vector<scalar_type> F(mf_u.nb_dof());
gmm::clear(F);
getfem::interpolation_function(mf_u, F, u_exact);
model.add_initialized_fem_data("InflowData", mf_u, F);
if (PENALIZATION_INFLOW && act_DNS) {
// With penalization
scalar_type dirichlet_coefficient_inflow = 1e8;
getfem::add_Dirichlet_condition_with_penalization(model,mim,"u",dirichlet_coefficient_inflow,INFLOW_BOUNDARY_NUM,"InflowData");
} else {
// With multipliers
model.add_multiplier("Inflow", mf_mult_inflow, "u", mim,
INFLOW_BOUNDARY_NUM);
getfem::add_Dirichlet_condition_with_multipliers(model, mim,
"u","Inflow",INFLOW_BOUNDARY_NUM,"InflowData");
}
// Dirichlet condition on cylinder:
bgeot::base_vector no_penetration(1); no_penetration[0]=0;
model.add_initialized_fixed_size_data("CylinderData",no_penetration);
if (PENALIZATION_CYL && act_DNS) {
// With penalization
scalar_type dirichlet_coefficient_cyl = 1e8;
getfem::add_normal_Dirichlet_condition_with_penalization(model,mim,"u",dirichlet_coefficient_cyl,CYLINDER_BOUNDARY_NUM,"CylinderData");
} else {
// With multipliers
model.add_multiplier("Cylinder", mf_mult_cyl, "u", mim,
CYLINDER_BOUNDARY_NUM);
getfem::add_normal_Dirichlet_condition_with_multipliers(model,mim,"u","Cylinder",CYLINDER_BOUNDARY_NUM,"CylinderData");
}
// Build matrices
model.assembly(getfem::model::BUILD_ALL);
//------------------------------------------------------------------------------------------------------------------------------------------------------//
Moreover, I'm completely out of idea about what the following error means:
//------------------------------------------------------------------------------------------------------------------------------------------------------//
Trace 2 in getfem_models.cc, line 5667: Stiffness matrix assembly for
isotropic linearized elasticity
Trace 2 in getfem_models.cc, line 5931: Stokes term assembly
Trace 2 in getfem_models.cc, line 3157: Mass term assembly for Dirichlet
condition
Trace 2 in getfem_models.cc, line 3201: Source term assembly for Dirichlet
condition
Trace 2 in getfem_models.cc, line 3157: Mass term assembly for Dirichlet
condition
============================================
| An error has been detected !!! |
============================================
Error in getfem_assembling_tensors.cc, line 488 :
Non matrix field
//------------------------------------------------------------------------------------------------------------------------------------------------------//
Again, I just wanted to be sure that you know that I still have the same
problem.
Thank you very much in advance.
2015-02-23 10:17 GMT+01:00 Yves Renard <[email protected]>:
>
> Dear Kostas,
>
> There is no release 4.3.2. I incremented the patch number in configure.ac
> to produce some archives and it as been automatically ported to the web
> site but this is an artefact. I will correct this.
>
> Yves.
>
>
> Le 23/02/2015 09:56, Konstantinos Poulios a écrit :
>
> Hi, I am wondering where is the link for 4.3.2 (or even 4.3.1) here:
>
> http://download.gna.org/getfem/stable/
>
> I can only see the tarball for 4.3.
>
> Am I missing something?
>
> Best regards
> Kostas
>
> On Sun, Feb 22, 2015 at 5:54 PM, Dominique Fratantonio <
> [email protected]> wrote:
>
>> Hi,
>>
>> I'm using getfem-4.3.2 and I am having some problem with the
>> function 'add_normal_Dirichlet_condition_with_penalization'.
>> Here an extract of how I am implementing it:
>>
>>
>> //--------------------------------------------------------------------------------------------------------------------------------------------------//
>>
>> // Main unknown of the problem:
>> model.add_fem_variable("u", mf_u);
>>
>> // Viscous term
>> // Linearized elasticity brick:
>> model.add_initialized_fixed_size_data("lambda", plain_vector(1, 0.0));
>> // Second viscosity coefficient
>> model.add_initialized_fixed_size_data("nu", plain_vector(1,
>> 1/(pd.Re)));
>> getfem::add_isotropic_linearized_elasticity_brick(model, mim, "u",
>> "lambda", "nu");
>>
>> // Incompressible constraint
>> // p used as Lagrange multiplier, but it doesn't need to be
>> // add_multiplier as for the Dirichlet boundary conditions
>> // Linearized incompressibility condition brick:
>> model.add_fem_variable("p", mf_p);
>> getfem::add_linear_incompressibility(model, mim, "u", "p");
>>
>> // Dirichlet condition on inflow:
>> std::vector<scalar_type> F(mf_u.nb_dof());
>> gmm::clear(F);
>> getfem::interpolation_function(mf_u, F, u_exact);
>> model.add_initialized_fem_data("InflowData", mf_u, F);
>>
>> if (PENALIZATION_INFLOW && act_DNS) {
>> // With penalization
>> scalar_type dirichlet_coefficient_inflow = 1e8;
>>
>>
>> getfem::add_Dirichlet_condition_with_penalization(model,mim,"u",dirichlet_coefficient_inflow,INFLOW_BOUNDARY_NUM,"InflowData");
>> } else {
>> // With multipliers
>> model.add_multiplier("Inflow", mf_mult_inflow, "u", mim,
>> INFLOW_BOUNDARY_NUM);
>> getfem::add_Dirichlet_condition_with_multipliers(model, mim,
>> "u","Inflow",INFLOW_BOUNDARY_NUM,"InflowData");
>> }
>>
>> // Dirichlet condition on cylinder:
>> bgeot::base_vector no_penetration(1); no_penetration[0]=0;
>> model.add_initialized_fixed_size_data("CylinderData",no_penetration);
>>
>> if (PENALIZATION_CYL && act_DNS) {
>> // With penalization
>> scalar_type dirichlet_coefficient_cyl = 1e8;
>>
>>
>> getfem::add_normal_Dirichlet_condition_with_penalization(model,mim,"u",dirichlet_coefficient_cyl,CYLINDER_BOUNDARY_NUM,"CylinderData");
>> } else {
>> // With multipliers
>> model.add_multiplier("Cylinder", mf_mult_cyl, "u", mim,
>> CYLINDER_BOUNDARY_NUM);
>>
>>
>> getfem::add_normal_Dirichlet_condition_with_multipliers(model,mim,"u","Cylinder",CYLINDER_BOUNDARY_NUM,"CylinderData");
>> }
>>
>> // Build matrices
>> model.assembly(getfem::model::BUILD_ALL);
>>
>>
>> //------------------------------------------------------------------------------------------------------------------------------------------------------//
>>
>> In the above extract of the code, everything works fine except when I
>> try to use 'add_normal_Dirichlet_condition_with_penalization'.
>> The similar function 'add_Dirichlet_condition_with_penalization' works
>> fine as well.
>> Altought I succeed in compiling the code, when
>> 'add_normal_Dirichlet_condition_with_penalization' runs, I obtain the
>> following error:
>>
>>
>> //------------------------------------------------------------------------------------------------------------------------------------------------------//
>>
>> Trace 2 in getfem_models.cc, line 5667: Stiffness matrix assembly for
>> isotropic linearized elasticity
>> Trace 2 in getfem_models.cc, line 5931: Stokes term assembly
>> Trace 2 in getfem_models.cc, line 3157: Mass term assembly for Dirichlet
>> condition
>> Trace 2 in getfem_models.cc, line 3201: Source term assembly for
>> Dirichlet condition
>> Trace 2 in getfem_models.cc, line 3157: Mass term assembly for Dirichlet
>> condition
>> ============================================
>> | An error has been detected !!! |
>> ============================================
>> Error in getfem_assembling_tensors.cc, line 488 :
>> Non matrix field
>>
>>
>> //------------------------------------------------------------------------------------------------------------------------------------------------------//
>>
>> I really do not understand how to fix this problem and what it means.
>>
>> Thank you in advance.
>> Cheers.
>>
>>
>>
>>
>> _______________________________________________
>> Getfem-users mailing list
>> [email protected]
>> https://mail.gna.org/listinfo/getfem-users
>>
>>
>
>
> _______________________________________________
> Getfem-users mailing
> [email protected]https://mail.gna.org/listinfo/getfem-users
>
>
>
> --
>
> Yves Renard ([email protected]) tel : (33) 04.72.43.87.08
> Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29
> 20, rue Albert Einstein
> 69621 Villeurbanne Cedex, FRANCE
> http://math.univ-lyon1.fr/~renard
>
> ---------
>
>
> _______________________________________________
> Getfem-users mailing list
> [email protected]
> https://mail.gna.org/listinfo/getfem-users
>
>
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users