Exemplo n.º 1
0
def add_constant_material_parameter(input_file, name, value, output_file):
    '''
    Adds single parameter with a constant value for entire mesh.
    > python pysalvus.py model_handling add_constant_material_parameter --input_file mesh-in.e --name VP --value 4 --output_file mesh-out.e
    '''    
    # read input_file and make a copy (at output_file location)
    exo = model.getExodusCopy(input_file,output_file)
    
    values = np.ones(exo.num_elems()) * value
    if "{}_0".format(name) in exo.get_element_variable_names():
        print("Updating parameter {} to value {}".format(name,value))
        model.updateMaterialParameter(exo,name,values)
    else:
        model.addMaterialParameter(exo,name,values)
    exo.close()
Exemplo n.º 2
0
def add_constant_material_parameter(input_file, name, value, output_file):
    '''
    Adds single parameter with a constant value for entire mesh.
    > python pysalvus.py model_handling add_constant_material_parameter --input_file mesh-in.e --name VP --value 4 --output_file mesh-out.e
    '''    
    (num_elems,nNodeElm) = model.getElemsAndNodes(input_file)
    parameter_values = []
    parameter_names = []
    for (this_name,this_value) in zip(name,value):        
        for i in range(0,nNodeElm):
            parameter_names.append("{}_{}".format(this_name,i))
            parameter_values.append(np.ones(num_elems) * this_value)
                    
    exo = model.getExodusCopy(input_file,output_file,parameter_names)
    model.setMaterialParameter(exo,parameter_names,parameter_values)
    exo.close()
Exemplo n.º 3
0
def add_fluid_flag(input_file, fluid_type, output_file):
    '''
    Just a quick function to mark everything as fluid.
    :param input_file:
    :param output_file:
    :return:
    '''
    (num_elems,nNodeElm) = model.getElemsAndNodes(input_file)    
    
    if fluid_type == "fluid":
        values = np.ones(num_elems)
    elif fluid_type == "elastic":
        values = np.zeros(num_elems)

    exo = model.getExodusCopy(input_file,output_file,["fluid"])
    model.setMaterialParameter(exo,["fluid"],[values])
    exo.close()